Plusieurs SI dans une macro excel

Résolu
yannou1456 Messages postés 22 Statut Membre -  
moiced59 Messages postés 1161 Statut Membre -
Bonjour à tous,

je rencontre un problème dans la construction d'une macro excel.
Je souhaiterais que si "A & v1"="D10" alors "B & v1"="E10" mais également que si "A & v1"="G10" alors "B & v1"="H10". Mon problème est le lien entre les deux "SI".Je ne sais pas comment le notifier. Voici la macro telle que je l'ai actuellement:

Private Sub CommandButton1_Click()
Dim v1 As Integer
v1 = 1

Do
If Range("A" & v1).Value = Range("D10").Value Then
Range("B" & v1).Value = Range("E10").Value

Range("A" & v1).Value = Range("G10").Value Then
Range("B" & v1).Value = Range("H10").Value
End If
v1 = v1 + 1
Loop Until v1 = 10

End Sub

Il me faudrait en fait le lien pour dire "OU SI".
quelqu'un aurait il une idée de la formulation????

Je vous remercie pour les réponses!

A bientot
A voir également:

4 réponses

Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
Salut,

ElseIf pourrait t'aider ;)

Private Sub CommandButton1_Click()
Dim v1 As Integer
v1 = 1

Do
If Range("A" & v1).Value = Range("D10").Value Then
Range("B" & v1).Value = Range("E10").Value

ElseIf Range("A" & v1).Value = Range("G10").Value Then
Range("B" & v1).Value = Range("H10").Value
End If
v1 = v1 + 1
Loop Until v1 = 10

End Sub 
1
moiced59 Messages postés 1161 Statut Membre 60
 
salut

tu peux simplement ajouter un if et repartir d'une constructuction neuve ou un else

Dim v1 As Integer
v1 = 1

Do
If Range("A" & v1).Value = Range("D10").Value Then
Range("B" & v1).Value = Range("E10").Value
end if

if Range("A" & v1).Value = Range("G10").Value Then
Range("B" & v1).Value = Range("H10").Value
End If
v1 = v1 + 1
Loop Until v1 = 10

End Sub

ou

Dim v1 As Integer
v1 = 1

Do
If Range("A" & v1).Value = Range("D10").Value Then
Range("B" & v1).Value = Range("E10").Value
else
if Range("A" & v1).Value = Range("G10").Value Then
Range("B" & v1).Value = Range("H10").Value
End If
end if
v1 = v1 + 1
Loop Until v1 = 10

End Sub
1
yannou1456 Messages postés 22 Statut Membre 2
 
Bonsoir,
merci à tous les deux pour vos réponses.j'ai finalement utilisé la solution de moiced59 qui consistait à terminer la première instruction par un "end if" et de repartir sur un nouveau "if".
j'ai également testé la solution du "elseif" mais ne correspondait pas tout à fait à ce que je voulais.

encore merci à vous pour les réponses et bonne soirée!!
0
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
oui après avoir relu je me suis aperçu que le Elseif n'était pas pour ton cas :)

Tant mieux si tu as eu réponse à ton problème

Bonne journée et reviens nous voir ;)
0
moiced59 Messages postés 1161 Statut Membre 60
 
impec bonne soiree
0