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:

VBA4.jpg

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

Discussions similaires