Msgbox sous Visual Basic

Utilisateur anonyme -  
cnnk Messages postés 8 Statut Membre -
Bonjour
Est-il possible de créer une MsgBox avec une zone de texte intégrée sous VB?
Et si oui, comment récupérer le contenu de cette zone de texte pour l'afficher dans une autre zone de texte dans un formulaire?
Merci

11 réponses

  1. rodrigue62 Messages postés 201 Statut Membre 30
     
    alors personne n'a d'idée pour remplacer une boite de dialogue indiquant uen erreur par une plus explicite cree par la fonction msgbox en VBA?
    1
  2. rodrigue62 Messages postés 201 Statut Membre 30
     
    et peut on supprimer les boites de dialogue par defaut sous access. Je m'explique lors d'une certaine erreur de saisie, une boite de dialogue s'affiche mais elle ne donne pas beaucoup de détail sur l'erreur, j'en ai donc crées une en VBA plus explicite, elle se lance bien quand il faut mais le problême est qu'apres l'avoir validée j'ai encore celle qui etait par defaut sous access qui s'affiche. Sa commence a faire beaucoup de boite de dialogue pour une seule erreur.
    Merci pour votre aide!
    0
  3. Pascal_22 Messages postés 559 Statut Membre 54
     
    Salut !!

    La facon c de faire une gestion d'error.
    exemple ......
    Private Sub cmdFirst_Click()
    On Error GoTo Err_cmdFirst_Click
    'TON CODE ICI

    Err_cmdFirst_Click:
    'SI UNE ERREUR SE PRODUIT, CA VIENT ICI.
    MsgBox Err.description

    'TU PEUT FAIRE AUSSI UNE GESTION SELON l'ERREUR RECU Avec la variable error --->
    if err.number ='un no d'erruer' then
    'ton code quand il y a cette erreur
    end if

    End Sub

    J'espere avoir pu t'aider !!
    Pascal_22
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. rodrigue62 Messages postés 201 Statut Membre 30
     
    salut Pascal_22,
    Donc si je comprend bien tu declare une fonction Error GoTo Err_cmdFirst_Click qui renvoie a une fonction affichant une msgbox lorsuqe la condition est validée? Le code sera donc une boucle If verifiant si il y a une erreur ou non?
    mais est ce qu'en faisant ca la boite de dialogue qui etait affiché par access lors de l'erreur va disparaitre et etre remplacée par la mienne?
    Merci pour ton aide !
    0
  6. Pascal_22 Messages postés 559 Statut Membre 54
     
    Salut Rodrigue62 !

    Ben oui et non, je t'explique. C'est pas vraiment une fonction. Tu place au début de ta sub ou fonction "on error goto NomDeLaGestionD'Erreur(le nom peut etre n'importe quoi)

    apres tu mets ton code. Si une erreur se produit dans ton code dans cette sub ou fonction, ca crée une erreur, donc vu que tu as mis au debut de ta fonction "on error goto NomQuetuVeux" ca va recherche dans cette sub le nom que tu as mis, puis ca va exécuter le code que tu y as mis sous ce nom là, en général c'Est utiliser lors de la gestion d'error, c'Est a dire, que les message par default ne son pas tres explicite, donc on peut se les créé nous-meme, pour que les message d'erreur soient plus claire.

    Si c'est ca que tu veux faire, tu dois créé l'erreur que tu veux changer, tu prends en note le no d'erreur (quand un message apparait tu a en général run-tuime error 2222(un numero). Donc tu retiens se numéros et dans ta gestion d'erreur tu marque :
    if err.number=2222 then
    'ton code pour géré cette erreur la
    elseif err.number=8234 then
    'ton code pour géré cette erreur la
    elseif err.number=1232 then
    'ton code pour géré cette erreur la
    end if

    Pour savoir quel erreur correspond a quelle numéro, il faut que tu déclanche cette erreur en mettant des erreur dans ton code, tout deépendament ce que tu veux faire, puis la tu prends le numéro de l'erreur puis tu la gere comme tu veux.

    regarde l'example.

    private sub OuvrirRapport()

    on error goto VerificationErreur
    Dim DocName As String
    DocName = "RapportA"
    DoCmd.OpenReport DocName, A_PREVIEW

    VerificationErreur:'si une erreur se produit dans le code, ca vient ici
    if err.number=2345 then
    msgbox "Impossible de trouver le rapport"
    elseif err.number=4567 then
    msgbox "impossible d'ouvrir le rapport"
    end if

    Tu peux faire n'importe quoi, là j'ai mis des messageboxes mais tu peux faire n'importe quoi.

    Pour répondre a ta question, quand tu fais de la gestion d'erreur, ca remplace le message par défaut.

    Jespere avoir pu t'aider, n'hésite pas a me le dire si j'ai pas été assez clair ou si ta d'autre question !!!.
    a+

    Pascal_22

    end sub
    0
    1. rodrigue62 Messages postés 201 Statut Membre 30
       
      Salut Pascal_22,
      Ben en fait la c'est pas vraiment une erreur mais un fichier d'information, donc j'ai pas de numero d'erreur. En fait c'est parceque j'ai une liste deroulante et j'ai coché la propriété:"se limiter a la liste". Donc quand on saisi a la main et que le nom saisi n'appartient pas a la liste ca met un message d'info comme quoi le texte entré n'appartient pas a la liste, et c'est ce message que je veux remplacer.
      merci pour ton aide.
      0
    2. Pascal_22 Messages postés 559 Statut Membre 54
       
      Salut Rodrigue62,

      C pas très clair, je ne comprend pas tres bien, ce que je comprends c'est que tu as une liste déroulante. Et que tu écris dans cette même liste déroulante pour rechercher un nom identique a ce que tu as entrez, par la suite tu appui sur ENTER pour faire la recherche. !

      EsT-ce cela ??

      Pascal_22
      0
  7. rodrigue62 Messages postés 201 Statut Membre 30
     
    oui en fait on peux soit choisir directement dans la liste, soit saisir au clavier, mais si on saisie au clavier, apres que l'on change de champ, si la saisie ne correspond a aucun element de la liste, on a un message d'information indiquant que l'on en peux pas entrer ce nom car il n'appartient pas a la liste. En gros c'est un moyen de forcer le champ pour qu'il ne puisse prendre que certaines valeurs definies dans une autre table en fonction d'une requete.
    0
  8. Pascal_22 Messages postés 559 Statut Membre 54
     
    Salut Rodrigue62,

    Ok j'ai compris, tu vas voir c'est assez facile. tu programme en
    vb 6 ou vba ??? pour que je puisse t'envoyer la solution dans le bon language.

    Pascal_22
    0
  9. rodrigue62 Messages postés 201 Statut Membre 30
     
    Je programme en VBA directement sous Access.Ainsi j'avais mis le programme sous une procedure evenementielle repondant a l'erreur.
    0
  10. Pascal_22 Messages postés 559 Statut Membre 54
     
    Salut Rodrigue62,

    Ce que tu as a faire, Tu va coder dans "One lost focus" (evenement) de la combobox (liste déroulante). "One lost focus" veux dire quand tu change de controle(quand tu soirt de la liste déroulante). Tu vas faire une boucle dans la combo box pour vérifier si ce que l'usager a écris correspond a un item de la liste de la combobox.

    Si l'item correspond a un item de la liste déroulante, tu exécute ton code, et SINON tu envoi un message a l'usager disant que l'item entrer ne corespond pas !!

    Si tas besoin d'autre info, n'hésite pas !!!!

    Pascal_22
    0
  11. cnnk Messages postés 8 Statut Membre
     
    Salu les amis ; Je sui débutan et j'aimerai trouver un exemple d'application accompagné de son code source , traitant sur les MsgBox en visual basic 6.0
    A l'aide
    0