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

Boutons OK et CANCEL d'un UserForm avec VBA

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 !

nougitch

XLDnaute Occasionnel
Bonjour,

Dans une macro, je fais appel a un UserForm.

1/ Comment faire pour que quand je clique sur Cancel, je sorte de la procedure ? Car actuellement, j'ai une erreur.

2/ Comment verifier que les donnees saisies soient numeriques du type 4.53 ? Dois-je placer ce code en question dans le code de la macro ou sur l'evenement click du bouton OK ?

Merci par avance pour votre aide.
Cdt,
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Bonjour Nougitch

regarde les codes ci dessous, si j'ai bien compris :

Décharge l'USF
Code:
Private Sub BoutonCancel_Click()
Unload Me
End Sub

Vérifie si la saisie d'un textbox est numérique, à placer éventuellement lors de la validation, à adapter à ton projet.
Code:
Private Sub BountonOK_Click()
If IsNumeric(TextBox1.Value) Then MsgBox "ok numérique"
End Sub

bon après midi
@+
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Salut Pierrot,

Pour le message d'erreur, cela fonctionne, merci.
En revanche, le Unload me fait pas effet. D'ailleurs, que ce soit avec le bouton CANCEL, ou avec le bouton OK quand l'utilisateur genere un erreur, j'ai le message suivant : "Run-time error '13': Type mismatch". Comme si le code continuait et que comme il ne trouve pas de donnees pour la suite du code, il plante.

Merci pour ton aide.
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Re

logiquement le code donné "ferme" l'usf, mets le code utilisé en pièce jointe, car là je ne comprends pas trop... Si le bouton est placé sur un USF et le code dans le module de celui ci, cela devrait fonctionner... Sinon pour sortir d'une procédure tu peux utiliser l'instruction suivante :

Code:
Exit Sub

@+
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Non, le code est dans un module, pas dans l'USF. Il faut donc qu'a distance, je puisse dire si CANCEL alors, EXIT SUB, non seulement de l'USF mais aussi du module.

Merci !
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Re

essaye peut être comme ceci alors :

Code:
Private Sub BoutonCancel_Click()
End
End Sub

mais attention, réinitialisera toutes les variables.... peux pas t'en dire plus en l'état..
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Cool Pierrot, ca marche !

Je suis presque a ce que je souhaite 🙂
Ce qu'il me reste a faire, c'est que tant que la valeur saisie n'est pas numerique, pour le bouton OK, je laisse l'USF ouvert avec le champ vide.

Merci mille fois pour ton aide !

Code:
Private Sub cmdOk_Click()
    While Not (IsNumeric(frmInterestsRate.txtInterestsRate.Value))
        MsgBox "Please enter a correct interests rate (e.g. 4.83%)"
    Wend
    Unload Me
End Sub
 
Re : Boutons OK et CANCEL d'un UserForm avec VBA

Re

code modifier :

Code:
If Not IsNumeric(frmInterestsRate.txtInterestsRate.Value) Then
    MsgBox "Please enter a correct interests rate (e.g. 4.83%)"
frmInterestsRate.txtInterestsRate.Value =""
Else
    Unload Me
End If

@+

Edition : réinitialisation du textbox
 
- 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

Réponses
3
Affichages
431
N
Réponses
14
Affichages
2 K
nounou1902
N
M
Réponses
3
Affichages
2 K
MONADESIGN82
M
A
  • Question Question
Réponses
3
Affichages
2 K
J
Réponses
9
Affichages
3 K
Justine56
J
Réponses
4
Affichages
995
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…