XL 2016 Problème elseif vba

  • Initiateur de la discussion Initiateur de la discussion Nass78
  • Date de début Date de début
  • Mots-clés Mots-clés
    vba condition

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 !

N

Nass78

Guest
Bonjour à tous,

Je m'autoforme sur VBA depuis quelques jours , je rencontre une souci avec l'utilisation des conditions imbriqués.

J'ai crée un formulaire avec une combobox proposant 4 choix (fonctionnement, crédit, assurance, seji)

Quand j'éxecute ma procédure, le résultat souhaité ne fonctionne qu'avec la première condition, quand choisi sur ma liste un choix différent de "fonctionnement" rien ne se passe.

Voici la synthaxe :

Private Sub btn_ajouter_Click() 'Action bouton Ajouter

'Condition 1
If frm_decaissement_annuel.cbo_type_charge = "Fonctionnement" Then '
Sheets("acceuil").Activate
Range("b15") = "fonctionnement"


'Condition 2
ElseIf frm_decaissement_annuel.cbo_type_charge = "crédit" Then '
Sheets("acceuil").Activate
Range("b16") = "crédit"

'Condition 3
ElseIf frm_decaissement_annuel.cbo_type_charge = "assurance" Then '
Sheets("acceuil").Activate
Range("b17") = "assurance"

'Condition 4
ElseIf frm_decaissement_annuel.cbo_type_charge = "seji" Then '
Sheets("acceuil").Activate
Range("b18") = "seji"

Else
Sheets("acceuil").Activate

End If

'
End Sub 'pour action bouton ajouter


Quelqu"un aurait une idée de la source du blocage ?

Merci par avance
 
bonjour
dans ton cas regarde du coté select case
dans le module tu tapes select case et puis une touche F1
nota : on peut le faire avec de if , else if , etc ...
Code:
Private Sub btn_ajouter_Click() 'Action bouton Ajouter
     Sheets("acceuil").Activate
     'Condition 1
     If Me.cbo_type_charge = "fonctionnement" Then '
          Range("b15") = "fonctionnement"
     'Condition 2
     ElseIf Me.cbo_type_charge = "crédit" Then '
          Range("b16") = "crédit"
     'Condition 3
     ElseIf Me.cbo_type_charge = "assurance" Then '
          Range("b17") = "assurance"
     'Condition 4
     ElseIf Me.cbo_type_charge = "seji" Then '
   
          Range("b18") = "seji"
     End If
End Sub

ou encore
Code:
Private Sub btn_ajouter_Click() 'Action bouton Ajouter
     Sheets("acceuil").Activate
     'Condition 1
     Select Case Me.cbo_type_charge
          Case Is = "fonctionnement"  '
               Range("b15") = "fonctionnement"
          'Condition 2
          Case Is = "crédit"  '
               Range("b16") = "crédit"
          'Condition 3
          Case Is = "assurance" '
               Range("b17") = "assurance"
          'Condition 4
          Case Is = "seji" '
            Range("b18") = "seji"
     End Select
End Sub



avec un petit fichier joint cela rendra la réponse plus facile.( sans avoir à recréer le contexte)
 
Dernière édition:
bonjour
dans ton cas regarde du coté select case
dans le module tu tapes select case et puis une touche F1
nota : on peut le faire avec de if , else if , etc ...
Code:
Private Sub btn_ajouter_Click() 'Action bouton Ajouter
     Sheets("acceuil").Activate
     'Condition 1
     If Me.cbo_type_charge = "fonctionnement" Then '
          Range("b15") = "fonctionnement"
     'Condition 2
     ElseIf Me.cbo_type_charge = "crédit" Then '
          Range("b16") = "crédit"
     'Condition 3
     ElseIf Me.cbo_type_charge = "assurance" Then '
          Range("b17") = "assurance"
     'Condition 4
     ElseIf Me.cbo_type_charge = "seji" Then '
  
          Range("b18") = "seji"
     End If
End Sub

ou encore
Code:
Private Sub btn_ajouter_Click() 'Action bouton Ajouter
     Sheets("acceuil").Activate
     'Condition 1
     Select Case Me.cbo_type_charge
          Case Is = "fonctionnement"  '
               Range("b15") = "fonctionnement"
          'Condition 2
          Case Is = "crédit"  '
               Range("b16") = "crédit"
          'Condition 3
          Case Is = "assurance" '
               Range("b17") = "assurance"
          'Condition 4
          Case Is = "seji" '
            Range("b18") = "seji"
     End Select
End Sub



avec un petit fichier joint cela rendra la réponse plus facile.( sans avoir à recréer le contexte)


Pourquoi faut il rajoute "me." Dans le code ? Merci
 
bonjour
me fait référence à frm_decaissement_annuel
on peut aussi s'en passer .
mais c'est beaucoup plus facile d'écrire avec le "me." avant car VBA te propose les objets qui sont liés à ton userform automatiquement.
nota: cela marche aussi avec frm_decaissement_annuel .
mais sans ton fichier difficile d'en dire plus
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

H
Réponses
13
Affichages
1 K
hlawson1
H
S
Réponses
4
Affichages
2 K
stage_ferrit
S
L
Réponses
1
Affichages
1 K
Lucien31
L
F
Réponses
5
Affichages
2 K
Fariri
F
C
Réponses
23
Affichages
4 K
Charles78
C
R
Réponses
7
Affichages
2 K
F
Réponses
14
Affichages
6 K
fred777
F
K
Réponses
3
Affichages
768
K
N
  • Question Question
Réponses
5
Affichages
3 K
R
Réponses
2
Affichages
6 K
R
M
Réponses
5
Affichages
2 K
mauricette007
M
Retour