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

Afficher un UserForm

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 !

Nonno 94

XLDnaute Occasionnel
Bonjour le Forum,

je viens vous demander s'il est possible d'afficher ou faire apparaître une boîte de dialogue avec un message d'avertissement lorsque la cellule d'une feuille prend une valeur déterminée.
Ensuite, si tel est le cas, peut-on en cliquant sur "OK" dans la boîte de dialogue lancer une Macro ?
Cette "procédure !" a pour but de rappeler qu'il ne pas oublier de lancer la Macro.

Existe-t-il d'autres solutions plus "informatiquement" correctes pour atteindre cet objectif ?

Remerciements pour vos coseils et solutions.
Cordialement.

Nonno 94.
 
Dernière édition:
Re : Afficher un UserForm

Salut Nonno 94, le Forum

Peut-être comme cela si j'ai bien compris

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing Then
    If Target.Value = "macro" Then Procedure ' Ta valeur est macro
End If
End Sub
dans le Module de la feuille en Question


et

Code:
Sub Procedure()
Dim Act As String
Act = MsgBox("Voulez-Vous lancer la Macro?   ", vbInformation + vbOKCancel, "Ta Macro")
If Act = vbCancel Then Exit Sub
MsgBox "La macro est lancée"
End Sub
Edit: Salut CC 🙂 Hi!!! Kjin🙂
Bonne Journée
 

Pièces jointes

Dernière édition:
Re : Afficher un UserForm

Bonjour,
lorsque la cellule d'une feuille prend une valeur déterminée.
En invoquant les esprits, par formule, par saisie au clavier...
Macro événementielle dans le module de la feuille concernée...
Lorsqu'on saisie 1 dans la cellule A1...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target = 1 Then
    If MsgBox("Il y a 1 stroumf" & vbLf & "Lancer la macro ?", vbYesNo) = 6 Then
        'Call la_macro_à_lancer
    End If
End If
End Sub
...lorsque A1 contient une formule qui renvoie 1
Code:
Private Sub Worksheet_Calculate()
If [A1] = 1 Then
    If MsgBox("Il y a 1 stroumf" & vbLf & "Lancer la macro ?", vbYesNo) = 6 Then
        'Call la_macro_à_lancer
    End If
End If
End Sub

Edit : Salut les copains ! 😀
A+
kjin
 
Dernière édition:
Re : Afficher un UserForm

Re-bonjour le Forum,

je vous remercie TOUS pour la rapidité et la pertinence de vos réponses.
Je n'ai que l'embarras du choix ! Mais, ainsi que vous le savez : "Abondance de biens ....ne nuit pas". Alors .....

Pour répondre plus précisément à Monsieur Kjin, la valeur de la cellule change par formule.

Ceci m'offre l'occasion de poser la question suivante :
Cette valeur changeant pour 2 raisons : la raison "A" et la raison "B", est-il possible de faire apparaître dans la boîte de dialogue :
- soit le message 1 suivant : Voulez- vous enregistrer ce fichier pour la raison "A" ? si la valeur de la cellule a changé pour la raison "A"
- soit le message 2 suivant : Voulez- vous enregistrer ce fichier pour la raison "B" ? si la valeur de la cellule a changé pour la raison "B" ?

Dans l'attente et en vous souhaitant une EXCELlente fin de semaine.
Cordialement.

Nonno 94.
 
Dernière édition:
- 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

L
Réponses
2
Affichages
1 K
Lincoln88
L
A
Réponses
8
Affichages
2 K
A
Z
Réponses
12
Affichages
5 K
zorglubxp
Z
M
Réponses
1
Affichages
3 K
G
Réponses
2
Affichages
2 K
G
Y
Réponses
11
Affichages
7 K
Y
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…