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

[Résolu] MSG Box "Oui" "Non"

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 !

Lebonetletruand

XLDnaute Occasionnel
Bonjour à tous,

J'ai une question sur le language VBA. Voici mon problème :

J'ai créé un tableau dans lequel l'utilisateur peut ajouter ou supprimer des données. La suppression étant considérée comme exceptionnelle, j'ai créé une macro évenementielle sous la forme msgbox "oui" "non" lui demandant de confirmer s'il supprime ou non. Je voudrais que lorsque ce dernier clique "non" à la question "voulez vous continuer?", l'opération de suppression s'annule (comme s'il cliquait sur la flèche "annuler la dernière opération").

Merci par avance
 
Dernière édition:
Re : MSG Box "Oui" "Non"

Salut Lebonetletruand et le forum
Donne ton code : discuter dans le vide est toujours difficile.
Comme je ne connais pas ton code, ce que semble dire ton poste est que tu ne situes pas ta question au bon endroit. tu as déjà lancé la suppression et tu demandes après coup si on veut continuer.
Une logique serait :
- demander si on veut supprimer
- confirmer la suppression
- annuler la gestion des messages d'avertissement
- supprimer
- remettre la gestion des messages d'avertissement
- envoyer un message confirmant la suppression.
A+
 
Re : MSG Box "Oui" "Non"

Bonjour à tous,

L'utilisation de
Code:
Application.Undo
comme le fait Banzai64 dans son code, est effectivement la solution

Mais il ne faut pas oublier de mettre avant et après
Code:
Applicaion.EnableEvents = False
Application.Undo
Applicaion.EnableEvents = True
C'est préférable 😉

A+
 
Re : MSG Box "Oui" "Non"

Bonsoir à tous,

Veuillez m'excuser, j'ai effectivement oublié de joindre le fichier objet de ma question. En tout état de cause, j'ai lu vos réponses avec soins. Merci Gam, Gorfael, Banzai64 et BrunoM45.

J'ai retenu la solution de Banzai en l'adaptant à mon cas de figure. Il me manquait en fait le code "Application.Undo".

Merci à tous pour votre réactivité. J'ai découvert ce site ce week end et le trouve très enrichissant. Je ne sais pas comment indiquer que le sujet est "résolu", je l'aisse le soin aux administrateurs du site de le faire.

Pour information, je vous joins ci-dessous la macro définitive retenue. La rédaction n'est certes pas très belle mais l'application fonctionne, ce qui est pour moi le principal à mon petit niveau de connaissance.

Private Sub Worksheet_Change(ByVal Target As Range)
If IsError(Range("A165").Value) Then
Msg = "Attention, le principe de l'inscription des produits phytosanitaires à la suite des uns des autres n'est pas respecté" & Chr(13) & Chr(13) & "Il est impératif de ne pas laisser de blanc dans le listing" & Chr(13) & Chr(13) & "Souhaitez voux continuer?"
Style = vbYesNo + vbQuestion
Title = "Erreur d'inscription"
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then
MyString = "Oui"
Else
Application.Undo
End If
End If
End Sub
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Triage de listes
Réponses
5
Affichages
594
Réponses
6
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…