MsgBox personalisée

Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai trouver un code que j'ai essayer d'adapter pour moi, qui consiste à effecuter une msgbox personnalisée:

Sub demande2() 

    Dim MonMessage As String 
    Dim P As Byte 
    MonMessage = "Choisir une action..." 
    P = MsgBox10(MonMessage, "Consultation de la fiche qualité", vbQuestion, "Consulter la fiche", "Imprimer la fiche", "Fermer la fiche") 
    Select Case rep 


Case 0 
Exit Sub 


Case 1 
msgbox2 "ok" 


Case 2 
Sheets("Fiche qualité").Select 
With Sheets("Fiche qualité") 

 'lancement d'une macro de mon fichier' 
Application.Run "'Saisies et suivis.xls'!Macro6" 


End With 
End Select 
End Sub 

j'ai un message d'erreur Erreur de compilation, Sub ou fonction non defineie, quelqu'un a une idée svp??


4 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
1 ) Tu utilises « MsgBox10 » et « MsgBox2 » mais tu n'as pas fourni le code de ces fonctions qui déclenchent peut-être l'erreur !!!

2) Tu affectes la réponse de « MsgBox10 » à « P » et tu exploites « rep » dans le select case (au lieu de P)
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
PS :
3) le With Sheets("Fiche qualité") ne sert à rien !
0
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   1
 
merci, j'ai fait quelques modification sur mon code, mais en fait je plante à chaque fois sur ma msgbox perso

P = MsgBox10(MonMessage, "Consultation de la fiche qualité", vbQuestion, "Consulter la fiche", "Imprimer la fiche", "Fermer la fiche") 


je voudrais une msgbox avec trois boutons "Consulter la fiche", "Imprimer la fiche", "Fermer la fiche" mais la je sèche...
0
m@rina Messages postés 23939 Date d'inscription   Statut Contributeur Dernière intervention   11 466
 
Bonjour,

Ce n'est plus une msgbox que tu veux faire !
Pour mettre des boutons particuliers qui ont des actions particulières, il faut faire une userform.
Une msgbox c'est basique, ça permet juste d'afficher un message avec des boutons prédéfinis, et de dire oui ou non, annuler, ignorer...

De plus ton code ne ressemble à rien, tu n'as pas lu ce que t'a dit Patrice33740.

m@rina
0
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   1
 
Alors OUI j'ai lu ce que t'a dit Patrice33740!! sinon je n'aurai pas répondu, et de plus je te mettrais ce soir le lien ou j'ai trouvé de quoi faire une msgbox personnalisée, je ne l'ai pas sur le moment.

Si je pose une question, c'est que j'ai un problème sur un code alors.... "De plus ton code ne ressemble à rien" ca m'avance pas vraiment.

bonne journée
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

msgbox() est une fonction avec des parametres pour la gérer, c'est tout.
Fait F1 dessus pour avoir le rôle de chaque paramètre.

P = MsgBox10(... n'existe que si tu as créé une fonction personnalisée appelée msgbox10.

eric
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Sur le site où tu as trouvé le morceau de code qui génère l'erreur, tu as oublié de copier la fonction MsgBox10 qui commence par quelque chose comme :
Private Function MsgBox10(...
et termine par
End Function

D'autre part je confirme ce que dit m@rina : « ... ton code ne ressemble ... »

Voici quelques sites à consulter :
https://vb.developpez.com/faqvba/
http://www.info-3000.com/vbvba/index.php
https://www.lecompagnon.info//vba-excel/index.html
http://boisgontierjacques.free.fr/index2.htm
https://apprendreexcel.com/
https://vb.developpez.com/cours/

Cordialement
Patrice
0