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