Plusieurs SI dans une macro excel
Résolu
yannou1456
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
moiced59 Messages postés 1145 Date d'inscription Statut Membre Dernière intervention -
moiced59 Messages postés 1145 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Plusieurs SI dans une macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Si ou excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
4 réponses
Salut,
ElseIf pourrait t'aider ;)
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
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
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
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!!
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!!