VBA : condition dans condition dans conditions

Bonjour,

Je fais appel à vous pour une question de condition je voudrais transcrire en code VBA la formule cidessous :

Sachant que B1 est une liste déroulante dans excel puis la combobox1 dans mon code

Sachant que B3 est une liste déroulante dans excel puis la combobox2 dans mon code

Sachant que B4 est valeur libre dans excel puis la Textboxbox1 dans mon code

=SI(ET(B1="Région 1";0<B4;5,5);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$G$28;3;0);SI(ET(B1="Région 1";5,5<B4;11);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$G$28;4;0);SI(ET(B1="Région 1";11<B4;16,5);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$G$28;5;0);SI(ET(B1="Région 2";0<B4;5,5);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$H$28;6;0);SI(ET(B1="Région 2";5,5<B4;11);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$I$28;7;0);SI(ET(B1="Région 2";11<B4;16,5);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$J$28;8;0);SI(ET(B1="Région 3";0<B4;5,5);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$M$28;9;0);SI(ET(B1="Région 3";5,5<B4;11);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$M$28;10;0);SI(ET(B1="Région 3";11<B4;16,5);RECHERCHEV(B3;'Tableau de recouvrement'!$C$4:$M$28;11;0);"error")))))))))

J'ai commencé la dessus mais VBA me colore tout en rouge du coup j'ai peur d'être à côté de la plaque...

Private Sub CommandButton1_Rec_dimard_Click()

'recouvrement
Dim Rec As Integer

Rec = if Combobox1.Value = Région 1 And 0<Textbox1.value<5,5
Then vlookup(combobox2.Value,sheets("Tableau de Recouvrement").Range("C4:G28),3,0)

Else

if Combobox1.Value = Région 2 And 0<Textbox1.value<5,5
Then vlookup(combobox2.Value,sheets("Tableau de Recouvrement").Range("C4:G28),3,0)

Else

Merci par avance pour votre aide

Bonjour Ben74,

Ton code n'est pas bon

Private Sub CommandButton1_Rec_dimard_Click()

'recouvrement
Dim Rec As Integer

Rec = if Combobox1.Value = Région 1 And 0<Textbox1.value<5,5
Then vlookup(combobox2.Value,sheets("Tableau de Recouvrement").Range("C4:G28),3,0)

Else

if Combobox1.Value = Région 2 And 0<Textbox1.value<5,5
Then vlookup(combobox2.Value,sheets("Tableau de Recouvrement").Range("C4:G28),3,0)

Else

Tu ne peux pas mettre Rec = if ....

Il faut que tu attribues la valeur à Rec après les Then

tu dois ajouter Application avant ton vlookup

et ferme tes guillemets dans tes Range("C4:G28

et utilises Elseif au lieu d'alourdir en mettant Else puis if sur une autre ligne

et tu dois découper tes 0<x<5,5

Plutôt dans ce genre là, et

Private Sub CommandButton1_Rec_dimard_Click()

Dim Rec As Integer

if Combobox1.Value = Région 1 And Textbox1.value > 0 and Textbox1.value<5,5 Then
    Rec = Application.VLookup(combobox2.Value,sheets("Tableau de Recouvrement").Range("C4:G28"),3,0)

Elseif Combobox1.Value = Région 2 And Textbox1.value > 0 and Textbox1.value<5,5 Then
    Rec = Application.VLookup(combobox2.Value,sheets("Tableau de Recouvrement").Range("C4:G28"),3,0)

Else

Bref penche toi sur des tutos VBA pour t'aider à écrire du code

Rechercher des sujets similaires à "vba condition conditions"