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
Configuration: Windows XP
Firefox 3.5.7

4 réponses

  1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    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
  2. 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
  3. 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
    1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
       
      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
  4. moiced59 Messages postés 1161 Statut Membre 60
     
    impec bonne soiree
    0