Message d'erreurs avec MsgBox

Résolu
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007 - 20 juin 2007 à 17:27
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007 - 22 juin 2007 à 17:05
Bonjour,
afin de rendre mon programme plus "pédagogique" , je cherche  à des message d'erreurs (via les msgbox) lorsque il y a une mauvaise saisie dans les message box. Par exemple, je voudrais dire
-si "le chemin du fichier inscrit dans la textbox1" n'est pas valide, alors msgbox "" (ou si le fichier ne s'ouvre pas...)
- si la ligne n'est pas dire, alors msgbox
 Si quelqu'un a une petite idée je suis preneur...
merci

Moz

24 réponses

fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
20 juin 2007 à 17:50
Salut
Soit tu n'es pas français, soit c'est moi...
Il faut que tu expliques mieux que ça ton problème : fais un effort de rédaction car ton post est incrompréhesible...
 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juin 2007 à 16:47
C'est une listbox qu'il te faut (encore que la chose marche également avec une combo... qu'il te faut rérouler... mais bon...)

1) enlève donc ce que tu as écrit ici en rouge : !!!!!!
Private Sub CommandButton1_Click()
 chemin = "Private Sub CommandButton1_Click()"
  chemin = "C:\Documents and Settings\Mes documents\PPF_Fiches"
  myname = Dir(chemin & "*.xls")
  Do While myname <> ""
    ComboBox1.AddItem chemin & myname
    myname = Dir
  Loop
End Sub

2) 2ème étape : lorsque l'utilisateur fait un choix en cliiquant dans la lisbox :

Private Sub List1_Click()
  fichier_choisi = List1.List(List1.ListIndex)
  MsgBox fichier_choisi
End Sub
et voilà tout ! à toi d'utiliser fichier_choisi comme tu l'entends, maintenant.

mais maintenant : tu aurais intérêt à choisir de mettre tes fichiers dans un sous-répertoire de ton applkication, plutôt que dans un répertoire distinct.
Ceci te permettrait de ne pas mettre en dur le nom du répertoire et donc de faire en sorte que ce soit toujours vrai, quel que soit le répertoire d'installation de ton application.
Il te suffirait alors de mettre dans le code le chemin relatif par rapport au répertoire de ton appli.
Moi, j'ai fini... Je laisse à un connaisseur VBA (ce qui n'est pas mon cas) le soin de prendre le relais pour te guider dans ce dernier pas (j'ignore comment, sous VBA, on désigne le chemin de l'application principale ... peut-être Application.Path ?...)
Je vous laisse ensemble, maintenant.
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
20 juin 2007 à 17:59
A toi de vérifier lors de la saisie la véracité du chemin (genre avec un snippet nommé FileExist) et d'afficher ton MsgBox si False est retourné.

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
20 juin 2007 à 18:01
Et ça sert à rien de valider tout et n'importe quoi...

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
20 juin 2007 à 18:06
Tu as compris le post toi mortalino ?

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
20 juin 2007 à 18:08
pas sûr mais je crois, il me semble qu'une fois que l'utilisateur à saisie le chemin d'un fichier et qu'il passe au contrôle suivant, Morrissey35 veut effectuer une vérification sur le chemin afin de voir s'il est bon, si ce n'est pas le cas, afficher un MsgBox pour avertir l'utisisateur.

Bien sûr, à confirmer...

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
20 juin 2007 à 18:14
effectivement mon post n'est pas tres clair..humm..mais ce n'est pas evident de faire 36000 choses à la fois..donc je m'excuse et je vais essayer d'être un peu plus clair.
Donc..je cherche à mettre un message d'erreur pour chaque TextBox (au nombre de 2) lorsque celle-ci sont mal saisies.
Dans la première Textbox l'utilisateur doit entrer le chemin d'un fichier (par ex, C:/MesDocument/..etc) pour ouvrir un fichier excel.  Je voudrais un message d'erreur qui indique à l'utilisateur que le fichier n'existe pas lorsqu'il a effectué une mauvaise saisie.. ..
Dans la seconde TextBox, l'utilisateur doit entrer une valeur numérique, qui permet de sélectionner une ligne dans un fichier excel dans laquelle vont venir s'inscrire des données. Le problème est qu'il faut que la ligne selectionnée soit vide, sinon, les nouvelles données pourraient venir ecrasées d'anciennes données. La valeur numérique que choisit l'utilisateur ne doit donc pas renvoyer à une ligne qui contient déja des données...

Bon..j'espère que c'est un peu plus clair...je retourne bosser...la journée est loin d'être terminée ..argg..
Si, tu trouve que c du chinois..tampis pour moi...lol
A+

Moz
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
20 juin 2007 à 18:22
Tu as ta réponse pour le Textbox ^^
concernant la ligne du fichier excel, idem, faut ouvrir le fichier et c'est à toi de vérifier la ligne en balayant les cellules par colonne. Si y'a rien, bah t'efface, sinon, t'affiche ton MsgBox pour dire que cette ligne n'est pas vide.

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
20 juin 2007 à 19:20
A ça va miex d'un coup
Pour compléter ce poste :
Tu peux envisager un groupe de control textbox txtSaisie(0) et txtSaisie(1)
Tu capte l'évenement  : txtSaisie_LostFocus(index as integer)

If index = 0 then
    if dir (txtSaisie(index)) = vbnullstring then msgbox "mauvais fichier"
elseIf index = 1 then
    'ta deusième condition
end if
 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 09:21
Merci beaucoup pour votre aide...je vais travailler ça ..encore merci...et dsl si je me suis mal fait comprendre...suis pas informaticien...je fais ce que je peux.  ;-)
a+

Moz
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
21 juin 2007 à 09:59
 Bonjour à tous

Un CommonDialog permettrait à l'utilisateur de selectionner son fichier, et non de le saisir (risques d'erreur).

jean-marc
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 10:09
merci pour l'info....je n'y avais pas pensé...

Moz
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
21 juin 2007 à 10:23
le problème est que je travaille avec Visual Basic Editor sous excel...est ce quand même possible, car je ne trouve pas de Commondialog..
Merci
Moz
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
21 juin 2007 à 20:28
il faut faire un clique droit sur la boite à outils, contrôles supplémentaires, et cocher Microsoft Common Dialog Control

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
22 juin 2007 à 11:11
Merci..mais qd je clique et q je veux insérer un microsoft common dialog control, j'ai un message d'erreur qui m'indique que je ne peux pas ajouter d'objet...

Moz
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juin 2007 à 11:38
Bonjour Morrissey35,

Juste 2 questions :

1) les fichiers parmi lesquels tu souhaites que l'utilisateur choisisse sont-ils toujours dans un répertoire bien défini ?
2) ce répertoire est-il un sous-répertoire de celui qui abrite ton application ?

En fonction de tes réponses, on va faire sans charger inutilement ton appli par un composant...
Dis-nous...
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
22 juin 2007 à 11:50
Bonjour Jmfmarques,
pour le moment, l'utilisateur entre le chemin du fichier dans une textbox ("c:/mesdocuments/...etc), le risque est l'erreur de saisi du chemin...c'est pour ça que je préférerais un common dialog.
Pour répondre à tes question: oui les fichiers à choisir seront toujours dans un répertoire bien défini.
Par contre, non ce n'est pas un sous répertoire de celui qui abrite mon appli..

merci beaucoup...

Moz
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juin 2007 à 12:02
Bon...

Tu es sous VBA.
Avant toute autre chose : pense dorénavant, s'il te plait, à "poster" tes discussions dans la section adéquate ("Langages Déricés - VBA ").

Je ne développe pas sous VBA (que je ne possèdee pas) , mais crois avoir compris qu'il ne possède pas de contrôle dirlistbox et FileListBox...(vu çà dans une autrre discussion).... Mais on va donc faire sans celà non plus ...

Etape n° 1 :

Crée un nouveau projet
Une Form, sur laquelle tu insères une listbox nompmée List1 et un bouton de commande Command1

et ce code :

Private Sub Command1_Click()
  chemin = "Private Sub Command1_Click()
  chemin = "d:\monoutil"
  myname = Dir(chemin & "*.txt")
  Do While myname <> ""
    List1.AddItem chemin & myname
    myname = Dir
  Loop
End Sub

Remplace ce qui est en rouge par TON répertoire concerné (celui dans lequel se trouvent les fichiers parmi lesquels l'utilisateur doit choisir...

Remplace ce qui est en vert par l'extension concernée (.xls, je crois...)

Lance et vois ce que tu obtiens la ta listbox et dis-moi

On passera ensuite à l'étape 2
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
22 juin 2007 à 12:23
merci de ton aide...mon boss vient de passer, j'ai un truc urgent à faire.., je fais la manip des que je peux et te tiens au courant.
et oui oui..je vais faire attention aux themes...
encore merci

Moz
0
Morrissey35 Messages postés 47 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 3 juillet 2007
22 juin 2007 à 15:59
me revoila, apres une reunon intensive...
j'ai effectué la petite manip que tu m'as proposé...lorsque je lance l'appli, j'ai la lisbox, aucun répertoire n'apparait...

Moz
0