MsgBox personalisée

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

  1. 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)
    1. PS :
      3) le With Sheets("Fiche qualité") ne sert à rien !
  2. 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...
    1. Modérateur
      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
      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
      2. Contributeur
        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
    2. 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