• Initiateur de la discussion Initiateur de la discussion Farscape
  • 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 !

F

Farscape

Guest
bonjour a tous,

Voilà j'ai un probleme avec une formule VBA (voir plus bas)
Dès que je lance cette formule j'ai une erreur bloc if sans end if ou end if sans bloc if.

Pouvez vous m'aider.

Merci

Private Sub CommandButton1_Click()
If ComboBox1 = '' Or TextBox1 = '' Then MsgBox 'Des champs sont vides', vbInformation + vbOKOnly, 'Erreur données !!!'
If OptionButton1 = False And OptionButton2 = False Then MsgBox 'Veuillez indiquez le type d'opération désirée.'
Exit Sub
End If
If OptionButton1 Then
Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) = Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) + TextBox1
ElseIf OptionButton2 Then
Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) = Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) - TextBox1
End If
MsgBox 'Mise à jour effectué avec succès'
End Sub
 
bonjour,

je pense que c'est le deuxième if qui devrait s'écrire comme suit (si on ne va pas à la ligne je crois qu'on ne peut mettre qu'une seule instruction) :

If OptionButton1 = False And OptionButton2 = False Then
  MsgBox 'Veuillez indiquez le type d opération désirée.'
 
Exit Sub
End If
 
Bonsoir Farscape, Sylvain, le forum,

Tu peux modifier ton code comme suit:

Private Sub CommandButton1_Click()
' Ce If est Ok !
If ComboBox1 = '' Or TextBox1 = '' Then MsgBox 'Des champs sont vides', vbInformation + vbOKOnly, 'Erreur données !!!'
' Pour celui-ci, il faut passer à la ligne sinon le End If suivant ne
' sert à rien
If OptionButton1 = False And OptionButton2 = False Then
MsgBox 'Veuillez indiquez le type d'opération désirée.'
Exit Sub
End If
If OptionButton1 Then
Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) = Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) + TextBox1
ElseIf OptionButton2 Then
Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) = Feuil3.Range('c' & ComboBox1.List(ComboBox1.ListIndex, 1)) - TextBox1
End If
MsgBox 'Mise à jour effectué avec succès'
End Sub

Amicalement
Charly
 
- 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

Réponses
10
Affichages
661
Réponses
3
Affichages
332
Réponses
9
Affichages
385
Réponses
4
Affichages
280
Retour