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

Macro arrêtée par l'apparition d'un userform

etpisculrien

XLDnaute Occasionnel
Bonjour à tous,

J'aurais besoin d'un petit coup de main, si vous pouviez m'aider...
En fait, j'ai fait une macro rattachée à un checkbox. Quand on le décoche, je veux faire apparaitre un userform avec des données déja renseignées et mettre un message d'avertissement (genre "alerte = MsgBox("Voulez vous vraiment déselectionner ce choix? Cela entrainera la suppression des données.", vbCritical + vbYesNoCancel)")
Le problème est que dès que mon userform apparait pour que l'utilisateur vérifie qu'il ne va pas effacer quelque chose d'important, et bien ma macro s'arrete et je ne peux plus lancer le message d'alerte"
J'aimerais donc que ma macro continue, même après l'apparition du userform.

Merci par avance de votre aide.

Pour vous aider à mieux comprendre, voilà un bout de ma macro :
If SM.Value = False Then
SMVISITEREQUEST.Show
alerte = MsgBox("Voulez vous vraiment déselectionner ce choix? Cela entrainera la suppression des données.", vbCritical + vbYesNoCancel)
If alerte = vbNo Or alerte = vbCancel Then
SM.Value = True
SMVISITEREQUEST.Hide
GoTo FIN
End If

If alerte = vbYes Then
Call Module6.Efface
End If
 

vgendron

XLDnaute Barbatruc
Re : Macro arrêtée par l'apparition d'un userform

Hello

sans plus d'information (fichier exemple), c'est difficile d'identifier ton pb. mais je dirais comme ca..
déplace le message d'alerte DANS le code du userform que tu affiches "SMVISITEREQUEST" ??
 

etpisculrien

XLDnaute Occasionnel
Re : Macro arrêtée par l'apparition d'un userform

Salut Vgendron,
Désolé mais le fichier est super compliqué, c'est un beau bordel
Difficile d'extraire la partie qui me pose problème...
Quoi qu'il en soit, ton idée etait interessante, je l'ai essayé mais je retombe sur mon problème. En gros, j'ai mis le code d'alerte dans userform_initialize() de SMVISITEREQUEST mais mon userform ne peut pas apparaitre tans que les lignes de mon userform_initialize() ne sont pas toutes exécutées. Du coup, j'ai bien mon message d'alerte mais mon userform ne peut pas apparaitre tant que j'ai pas répondu à la question (le but etait que l'utilisateur voit le userform avant de dire "oui, je veux bien tout effacer)
 

etpisculrien

XLDnaute Occasionnel
Re : Macro arrêtée par l'apparition d'un userform

Oh Victor...
Voilà une piste intéressante!
Je dois avouer que je suis autodidacte dans la programmation (ce qui explique le foutoir dans mes programmes)
j'ai commencé à regarder ce qu'est modal et non modal et je dirais que mon userform est modal.
Du coup, je vais chercher dans cette direction pour le rendre non modal et voir ce que ça fait...
 

etpisculrien

XLDnaute Occasionnel
Re : Macro arrêtée par l'apparition d'un userform

Bien joué Victor! Tu as tapé juste!
Il fallait seulement que je fasse apparaître mon userform en non modal (SMVISITEREQUEST.Show 0) et le tour est joué (en faisant disparaitre au préalable mon userform contenant la checkbox)

Encore merci à vous tous pour votre interet et à Victor pour la bonne réponse
 

Discussions similaires

Réponses
10
Affichages
705
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…