Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Rétablir la valeur initiale d'une combobox

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

hyule

XLDnaute Nouveau
Bonjour,

ayant passé 2 heures sur google sans trouver une solution à mon problème VBA, je me décide de solliciter la communauté.

J'ai un onglet Excel dans laquelle j'ai une combobox ActiveX (avec une liste de valeur définie).
Lorsque je modifie la valeur de ma combobox (ex. j'avais initialement "2024" et je choisis "2025"), une fenêtre apparaît avec le message suivant: "voulez vous modifier la valeur? "
-> Si je clique sur "Ok", la fenêtre se ferme, la valeur dans ma combobox devient "2025" et la Macro1 se lance.
-> Si je clique sur "Annuler", la valeur dans ma combobox devient "2025"

Je souhaiterais que, lorsque je clique sur "Annuler" ou que je ferme la fenêtre, la valeur de la combobox redevienne la valeur initiale c'est à dire "2024" dans mon exemple.

Voici mon code actuelle:
Private Sub Combobox_Année_Change()
Dim rep As Integer
rep = MsgBox("voulez vous modifier la valeur?", vbOKCancel + vbExclamation, "Avertissement")
If rep = vbOK Then
Call Macro1
End If
End Sub


Merci d'avance pour votre aide
 

hyule

XLDnaute Nouveau
salut Vgendron,
merci pour ton retour .

ce n'est pas exactement ce que je souhaite. J'ai pris "2024" comme exemple.

J'aimerais que, dans le cas où je clique sur "annuler", ce ne soit pas la valeur que j'ai modifiée qui apparaisse dans la combobox mais celle qui se trouvait avant la modification.


Exemple de ce que je souhaiterais:


merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Hyule, Vgendron,
Un essai en PJ qui utilise une variable publique pour mémoriser l'année et un flag GO pour autoriser l'action ou non pour éviter toute ré entrance.
( il aurait été plus simple de fournir un fichier test, cela aurait éviter de refaire un fichier qui de toute façon est éloigné du votre )
 

Pièces jointes

  • Classeur2.xlsm
    18.4 KB · Affichages: 1

hyule

XLDnaute Nouveau
J'ai réussi à adapter le code à mon fichier Excel. Ca fonctionne parfaitement
Génial . merci bcp pour votre aide

1) Bon, j'avoue ne pas avoir compris comment fonctionne le "GO" dans la macro . Lorsque je change la valeur dans la combobox, je ne vois pas comment ca fait le lien avec la procédure "essai" .

2) J'ai modifié le code pour que l'opération se lance automatiquement à l'ouverture du fichier excel.
J'ai mis, en pièce jointe, 2 fichiers :
- le 1er qui fonctionne parfaitement. J'ai utilisé un "call essai" pour cela
- le 2ème où j'ai voulu intégrer directement la procédure "essai" dans "Private Sub Workbook_Open()". Malheureusement, ca ne marche pas. Pourquoi donc ? Mauvaise Déclaration de la variable ?

Bonne journée à vous 2
 

Pièces jointes

  • test_Fonctionne.xlsm
    22.4 KB · Affichages: 0
  • test_FonctionnePas.xlsm
    21.8 KB · Affichages: 0

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…