Boucle If avec plusieurs else

Bonjour à tous,

Je ne sais pas vraiment comment fonctionnent les forum etc mais là je suis face à un problème qui me dépasse sur un projet VBA.

Je suis vraiment débutante débutante en VBA donc peut être que mon blocage vous paraîtra très facile et je l'espère :

Je souhaiterai faire une boucle if dans laquelle soit mes deux valeur sont identiques soit non. Dans le cas où elles sont différentes il faut encore que je teste ma valeur comparée à 52 autres valeurs et si et seulement si elle ne correspond à aucune alors je crée une case.

Ca fait donc 3 actions sous 2 conditions différentes avec il me semble 2 boucles à faire. Voilà mon code actuel avec le problème " Else whitout if" :

If pays_test = pays_modele Then
MsgBox pays_modele
MsgBox pays_test

Cells(ligne_m, colonne_m + 1).Value = Cells(ligne_t, colonne_t + 1).Value
Cells(ligne_m, colonne_m + 2).Value = Cells(ligne_t, colonne_t + 2).Value
MsgBox "victoire"
ligne_t = ligne_t + 1
pays_test = onglet.Cells(ligne_t, colonne_t).Value

ligne_m = 2
pays_modele = onglet.Cells(ligne_m, colonne_m).Value

ElseIf pays_test <> pays_modele Then
While ligne_m < 52
If pays_test <> pays_modele Then
MsgBox pays_modele
MsgBox pays_test
MsgBox " relou"
ligne_m = ligne_m + 1
pays_modele = onglet.Cells(ligne_m, colonne_m).Value
Else
ligne_m = 53
End If
Else
MsgBox "nouveau pays"
Cells(ligne_n, colonne_n).Value = Cells(ligne_t, colonne_t).Value
ligne_n = ligne_n + 1

ligne_t = ligne_t + 1
pays_test = onglet.Cells(ligne_t, colonne_t).Value

ligne_m = 2
pays_modele = onglet.Cells(ligne_m, colonne_m).Value

End If

Voilà j'espère que c'est assez clair ^^', merci beaucoup pour votre aide :)

Bonjour Elisa et bienvenue, bonjour le forum,

C'est couillon de ne fournir qu'une partie du code sans les variables. On ne peut donc pas tester... Je vois à peu près ton problème mais n'arrive pas à le cerner pour pouvoir t'aider... Je verrais les choses comme ça :

Sub Macro2()
Dim V1 As String (? à définir)
Dim V2 As String (? à définir)
Dim TEST As Boolean

If V1 = V2 Then 'condition 1 : si les deux variables sont égales
    'code
Else 'sinon (les deux variables sont différentes)
    For I = 1 To 52 'boucle sur 52 valeurs
        If V1 = Cells(I, "A") Then 'condition 2 : si la variable V1 (ou V2, je ne sais pas) est égale à la valeur de la boucle
            TEST = True 'définit la variabre TEST
            Exit For 'sort de la boucle
        End If 'fin de la condition 2
    Next I 'prochaine valeur de la boucle
    If TEST = True Then 'condition 3 : si TEST est [vrai] (la variable fait partie d'une de 52 valeurs)
        'code si la condition est [vrai] 
    Else 'sinon (la variable ne fait partie d'aucune de 52 valeurs)
        'code si condition est [faux]
    End If 'fin de la condition 3
End If 'fin de la condition 1
End Sub


Merci beaucoup ! c'était exactement ça

Ho p... ! Ça c'est du rapide...

Rechercher des sujets similaires à "boucle else"