Remplacer des msgbox par des userform

Zorbaxx Messages postés 29 Statut Membre -  
f894009 Messages postés 17413 Statut Membre -
Bonjour,

Je viens une nouvelle fois demander de l'aide,...

J'ai crée un fichier avec pas mal de code et qui fonctionne très bien.Le seul problème que je rencontre c'est l'emplacement de mes msgbox... Dans ce classeur j'ai un formulaire qui est amené à être affiché sur un deuxième écran. Et évidemment, les msgbox, elles, s'affichent sur l'écran où se trouve ma feuille de calcul ....

Après quelques recherche j'ai cru comprendre qu'il était difficile de remédier a cela et qu'il était plus simple de créer des userform a la place de ces msgbox.

Le problème c'est que je ne sais pas comment m'y prendre. J'ai créé un userform avec 2 boutons (Yes et No par exemple) mais comment le lancer a partir du premier et puis poursuivre mon code en fonction de la réponse?

Je voudrai remplacer ça par exemple :

If MsgBox("Ajouter les données?", vbYesNo, "Confirmation") = vbYes Then

par ma "msgbox perso"....

Merci




A voir également:

3 réponses

f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,

Sub msg()
    Reponse = MsgBox("Ajouter les données?", vbYesNo, "Confirmation")
    If Reponse = vbYes Then
        MsgBox "Oui"
        Userform1.Show      'adaptez le nom de l'UF
    Else
        MsgBox "Non"
    End If
End Sub
0
Zorbaxx Messages postés 29 Statut Membre
 
Merci de tenter de m'aider,

Mais avec ton code j'ai toujours des msgbox que je ne peut pas repositionner.....
En fait je voudrai créer un userform qui ressemble a une message box (juste deux boutons donc).
Mais comment afficher cet userform ("fausse msgbox") et renvoyer la réponse dans mon premier userform et poursuivre mon code en fonction de cette reponse?

Merci
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Re,
Désolé, pas compris ce que vous vouliez.
Comment vous comptez lancer cette pseudo msgbox?
Pour récupérer le choix, passez par une variable declaree en public
0
Zorbaxx Messages postés 29 Statut Membre
 
Re,
En fait la plupart de mes msgbox me servent a informer l'utilisateur qu'il rentre des informations incorrectes. par exemple :

'Verifier si vide
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Then
MsgBox ("Il manque des informations!")
GoTo 1
End If

'Verifier si le N° de personnel existe
If WorksheetFunction.CountIf(Sheets("liste du personnel").Range("b:b"), Me.TextBox1.Value) = 0 Then
MsgBox "Le numéro de personnel n'existe pas!", vbInformation + vbOKOnly, "Numéro de personnel invalide"
TextBox1 = ""
GoTo 1
End If

etc...

Et donc toutes ces msgbox ne sont pas repositionnables.. Il me faudrai un truc comme ca je pense :

'Verifier si vide
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Then
"faussemsgbox".show
'quand l'utilisateur clique sur ok par exemple
GoTo 1
End If

Merci de votre aide
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,
vous pouvez mettre votre fichier a dispo sans données confidentielles
https://www.cjoint.com
ou
https://mon-partage.fr
0
Zorbaxx Messages postés 29 Statut Membre
 
Voilà j'ai crée un petit fichier exemple avec très peu de code histoire de simplifier tout ca.

https://www.cjoint.com/c/HCkusOGFvm5

Merci encore de tenter de m'aider
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,
Je regarde la chose
A+
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Re,

Fichier modifie, a vous de tester si vous convient: https://mon-partage.fr/f/ols75eqK/
Ai ajoute des tests et une seule UF pour les messages
0