Problème sur séquence If..Elseif...Elseif

  • Initiateur de la discussion Initiateur de la discussion silvin38
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

silvin38

XLDnaute Nouveau
Bonjour,

J'ai une erreur dans le bout de code qui suit que je n'arrive pas à reperer.
Si quelqu'un pouvait y jeter un oeil et me dire ce qui ne va pas je l'en remercie d'avance :

Pour les données, mon TextQuantité est un nombre et ComboGeo est une combobox où je peux sélectionner les valeurs suivantes : plan / John / Joan.
Le but est que selon la quantité entrée et la valeur de ComboGeo, la cellule de la colonne 15 de ma derniere ligne (DernL étant défini plus haut) prenne une valeur spécifique.
Avec le code suivant, lorsque j'execute ma macro, Excel me dit que j'ai un "Else sans If", et je n'arrive pas à identifier mon erreur...

Code:
With Worksheets("Cotation").Activate
            
          qt = TextQuantite.Value
          ge = ComboGeo.Value
                   
           If ge = "plan" Then .Cells(DernL, 15).Value = 100
                 
          ElseIf ge = "John" Then
                If qt = 1 Then .Cells(DernL, 15).Value = 400
                ElseIf qt = 2 And qt < 5 Then .Cells(DernL, 15).Value = 335
                ElseIf qt >= 5 Then .Cells(DernL, 15).Value = 230
                End If
                
           ElseIf ge = "Joan" Then
                If qt = 1 Then .Cells(DernL, 15).Value = 1000
                ElseIf qt = 2 And qt < 5 Then .Cells(DernL, 15).Value = 915
                ElseIf qt >= 5 Then .Cells(DernL, 15).Value = 800
                End If
            
            End If

End With

Merci
 
Re : Problème sur séquence If..Elseif...Elseif

Bonjour silvin38

A tester:

Code:
[FONT=monospace]With Worksheets("Cotation").Activate     
    

          qt = TextQuantite.Value
          ge = ComboGeo.Value
                   
           If ge = "plan" Then
             .Cells(DernL, 15).Value = 100
                 
          ElseIf ge = "John" Then
                If qt = 1 Then .Cells(DernL, 15).Value = 400
                ElseIf qt = 2 And qt < 5 Then .Cells(DernL, 15).Value = 335
                ElseIf qt >= 5 Then .Cells(DernL, 15).Value = 230
                End If
                
           ElseIf ge = "Joan" Then
                If qt = 1 Then .Cells(DernL, 15).Value = 1000
                ElseIf qt = 2 And qt < 5 Then .Cells(DernL, 15).Value = 915
                ElseIf qt >= 5 Then .Cells(DernL, 15).Value = 800
                End If
            
            End If

End With
[/FONT]
 
Re : Problème sur séquence If..Elseif...Elseif

Bonjour,

toutes les actions suivant then doivent être sur la ligne qui suit.

l'écriture : If ge = "plan" Then .Cells(DernL, 15).Value = 100 est réservée s'il n'y a qu'une action après le then , auquel cas le end if n'est pas nécessaire

bonne suite
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
707
Retour