Manage two different palettes

Hello,
I define both different styles; one is in my rootlogon.C called style1 and the other is define in a macro called style2.
I plot several histograms and I would like use these two styles depending on the histogram.
For example, I have

TH1F *h1 = new TH1F("h1","h1", 500, 0, 500); TH1F *h2 = new TH1F("h2","h2", 500, 0, 500); TH2F *h3 = new TH2F("h3","h3", 500, 0, 500, 500, 0, 500); ...(I fill every histo) h1->Draw(""); h2->Draw(""); h3->Draw("col");
I would like apply style1 to h1 and h3 and style2 to h2. How can I do that?
I tried some different option like

gROOT->SetStyle("style1"); gROOT->ForceStyle();
or

TStyle *style1 = gROOT->GetStyle("style1"); style1->cd();
but without result.
Thanks.

This is a simple code to illustrate my talk

[code]{
Int_t palette[10]={40,4,28,7,30,3,8,5,2,6};

TCanvas *c = new TCanvas(“c”,“c”);
c->Divide(1,2);

TH2F *h1 = new TH2F(“h1”,“Z:A”,500,70,170,500,20,70);
Analysed_Data->Project(“h1”,“Z1_corr:M_real”,"");
TH2F *h2 = new TH2F(“h2”,“A:Z”,500,20,70,500,70,170);
Analysed_Data->Project(“h2”,“M_real:Z1_corr”,"");

c->cd(1);
gStyle->SetPalette(10,palette);
h1->UseCurrentStyle();
h1->Draw(“colZ”);

c->cd(2);
gStyle->SetPalette(1,0);
h2->UseCurrentStyle();
h2->Draw(“colZ”);
}[/code]
Here, I would like to use two different palettes for each histogram. Yet, I get two different spectra with the same palette (SetPalette(1,0)). What is wrong?
Thanks.

I have just found the solution. Problem was specific to the palette and not to the style. The solution is explained here. SO, I change post title tofacilitate the future search.