Poursuivre ou annuler une macro
Résolu/Fermé
A voir également:
- Vbokcancel
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
- Annuler envoi mail gmail - Guide
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
Modifié par pijaku le 13/11/2012 à 13:00
Modifié par pijaku le 13/11/2012 à 13:00
Bonjour,
Pour quitter une procédure sans l'exécuter, il convient d'utiliser
Les MsgBox sont paramétrables. Syntaxe : MsgBox(message[, boutons] [, titre] [, helpfile, context])
Si vous voulez qu'elle affiche Oui et Annuler, il faut utiliser l'argument "boutons" : vbOKCancel.
L'argument bouton renvoie une valeur de type numérique (1, 2, 3...7).
Si, avec un MsgBox de type vbOkCancel vous cliquez sur Oui, sa valeur est 1, si vous cliquez sur annuler la valeur est 2.
Il nous faut donc pour réaliser ceci :
- un MsgBox de type vbOkCancel,
- une variable pour pouvoir tester la réponse de l'utilisateur. Cette variable ne pourra prendre que deux valeurs, 1 ou 2, elle est donc de type numérique (nombre entier = Integer).
Voici le code de ce que vous souhaitez :
Plus de renseignements sur les MsgBox : ICI (Microsoft), une MsgBox personnalisée ICI.
Note : 1- Dans le code, je place la valeur du MsgBox dans une variable de type Integer, le résultat est le même avec un Byte...
2- Dans le code, on peux remplacer (pour une maintenance plus aisée du code) :
Cordialement,
Franck P
Pour quitter une procédure sans l'exécuter, il convient d'utiliser
Exit Sub.
Les MsgBox sont paramétrables. Syntaxe : MsgBox(message[, boutons] [, titre] [, helpfile, context])
Si vous voulez qu'elle affiche Oui et Annuler, il faut utiliser l'argument "boutons" : vbOKCancel.
L'argument bouton renvoie une valeur de type numérique (1, 2, 3...7).
Si, avec un MsgBox de type vbOkCancel vous cliquez sur Oui, sa valeur est 1, si vous cliquez sur annuler la valeur est 2.
Il nous faut donc pour réaliser ceci :
- un MsgBox de type vbOkCancel,
- une variable pour pouvoir tester la réponse de l'utilisateur. Cette variable ne pourra prendre que deux valeurs, 1 ou 2, elle est donc de type numérique (nombre entier = Integer).
Voici le code de ce que vous souhaitez :
Sub test() Dim OuiOuNon As Integer OuiOuNon = MsgBox("Voulez-vous continuer?", vbOKCancel, "Choix") If OuiOuNon = 2 Then Exit Sub MsgBox "Là vous avez cliqué sur Oui!!!" End Sub
Plus de renseignements sur les MsgBox : ICI (Microsoft), une MsgBox personnalisée ICI.
Note : 1- Dans le code, je place la valeur du MsgBox dans une variable de type Integer, le résultat est le même avec un Byte...
2- Dans le code, on peux remplacer (pour une maintenance plus aisée du code) :
If OuiOuNon = 2 Then Exit Subpar :
If OuiOuNon = vbCancel Then Exit Sub
Cordialement,
Franck P
14 nov. 2012 à 14:48
25 juil. 2022 à 11:59
merci infiniment pour ces explications, cela m'a été très utile