Ne pas executer macro si valeur combobox identique

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

C

carlos

Guest
Bonjour

je recherche le moyen de ne pas pas executer la macro 'noms_eleves' si la valeur du combobox1 n'a pas changée.

Private Sub BoutonOK_Click()
Unload Me
If Me.ComboBox1 'A changé de valeur' Then Noms_eleves
If Me.ComboBox1 'N'a pas changé de valeur' Then 'Rien'
End Sub

Merci
 
Bonjour Carlos


avant de sortir de ta procédure 'Nom_eleves' tu dois stocker le comboBox1.value dans une cellule.

ensuite tu testes avec le code de ton bouton si le comboBox1.value et égal à range('..').value.


ça devrait marcher
 
Bonjour carlos, dg62, le Forum.

En complément de la réponse judicieuse de dg62, je prends le problème à l'envers et te propose une autre solution :
Le code ci-dessous interdit le clic sur le bouton OK tant que la valeur du ComboBox1 est inchangée...

Option Explicit

Private Sub UserForm_Initialize()
      'Désactivation du bouton OK à l'ouverture du USF
      BoutonOK.Enabled = False
      '...
End Sub

Private Sub ComboBox1_Change()
Static MaValeur As Variant
      'Le bouton OK est désactivé tant que la valeur de ComboBox1 est inchangée
      If IsEmpty(MaValeur) Then MaValeur = ComboBox1.Text
      BoutonOK.Enabled = ComboBox1.Text <> MaValeur
End Sub

Private Sub BoutonOK_Click()
      'Ce que tu veux faire ici...
      '...
End Sub
Remarque : la variable MaValeur est ici délibérément déclarée en tant que Variant (au lieu de String) pour obtenir une réponse correcte de la fonction isEmpty()...

Cordialement.
 
Bonjour Didier


et bien voilà encore démontrée toute la richesse de ce forum.
Une solution ne vient jamais seule et avec des approches differentes qui nous permettent à tous de progresser.

Bonne fin de Week end
 
Merci didier

J'ai fait ca et c'est ok

If Me.ComboBox1.Value <> Sheets('classe').Range('a2').Value _
Then Noms_eleves
Range('a2').Value = Range('a1').Value

Ta proposition et MydearFriend m'interesse pour d'autres choses

Merci à tous les deux
 
- 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
9
Affichages
379
Réponses
3
Affichages
329
Réponses
9
Affichages
503
Réponses
10
Affichages
658
Réponses
5
Affichages
415
Retour