Je ne me souvient plus du caractère utilisé dans VB6 pour remplacer le * (dans l'ancien dos)
En d'autres mots, j'ai des fichiers qui se nomme 01__343_02.htm
Je veux demander d'ouvrir le fichier qui se nomme 01__343 avec les n'importe quel caractère qui suit le 343 et qui a un extension .htm.
Car dans les nombreux fichiers que j'ai dans mon répertoire, j'ai des fichiers qui comment toute pareil (01__) mais qui ne se termaine pas pareil (dans l'exemple ici, _02) et se sont tous des .htm
Donc qu'est ce que je mets à la place de l'étoile (*) dans le code suivant ????
il me semble que j'ai vu des exemple dans msdn. je croi sque pour ton fichier qui commence par 01__343 il faut mettre # apres le 343
va voir dans msdn...
Je ne comprends pas ce que tu veux faire ....
Que se passe t'il si tu as plusieurs fichiers qui correspondent à tes critères ?
sinon, ton critère avec l'étoile doit fonctionner, mais fais plutôt une boucle sur une fonction Dir....
C'est un peu bisare les fichiers que j'ai.... ils viennent du gouvernement c'est peut-être pour cela lol..:P
J'ai qu'un fichier qui se nomme 01__10A-1_02.htm
Je vais écrire dans un textbox 10A-1 et le fichier (01__10A-1_02.htm) doit s'ouvrir.
Sauf que la terminaison de mes fichiers ne se nomme pas tous _02 j'en ai qui se nomme _04 ou _06 mais j'ai jamais un doublon pour la première partie du fichier (01__10A-1).
Donc mon prochain fichier est par exemple 01__10A-2_05.htm
Donc si je ferais une recherche en DOS pour ouvrir le fichier 01__10A-1_02.htm je dirais 01__10A-1*
.htm
Je ne comprends pas pourquoi çà ne marche pas ....
Si tu fais :
'_____________________
strIndex="343_"
strATROUVER = "m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" & "01__" & strIndex & "*.htm"
sFile = Dir(strATROUVER) 'recherche le premier fichier qui correspond
Do While sFile <> "" 's'il en trouve
shell(sFile) 'lance le
sfile = Dir 'cherche le suivant
Loop
'_____________________
Tu dois pouvoir lancer toutes les pages html recherchées ...
salut,
tu confonds apparemment le listing et l'ouverture.
il faut d'abord lister (dir) avec *, sauver les chemins en tableau, puis ouvrir avec les chemins complets trouvés.
Ben pourquoi les sauver dans un tableau ?
On les ouvre au fur et à mesure et ya pas de confusion pour l'étoile qui ne sert que de pattern à la recherche effectuée par le dir.
et bien je n'ai pas besoin de faire de boucle dans mon code... J'ai programmer autre chose du genre que si le fichier n'existe pas alors un message est afficher dans un label
If Fichier1 > 32 Then GoTo .........
Mais je vais essayer le ?????? ca devrait marcher....
le premier j'ai essayé les points d'intérogatuons.... Il ne trouve pas le fichier...
Voicie le code que j'ai utilisé
Private Sub cmdIndex_Click()
strIndex = txtIndex
Fichier1 = ShellExecute(Me.hWnd, "open", _
"m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" _
& "01__" & strIndex & "????.htm", vbNullString, "", SW_SHOWNORMAL)
End Sub
Sauf si j'enlève tout ce qui est entre guillemet ("01__" et "????.htm") et bien le fichier s'ouvre (bien sur j'inscrit le nom du fichier au complet)
Voici le code que j'ai modifié pour le test
Private Sub cmdIndex_Click()
strIndex = txtIndex
Fichier1 = ShellExecute(Me.hWnd, "open", _
"m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" _
& strIndex, vbNullString, "", SW_SHOWNORMAL)
End Sub
Je ne savais pas comment le coder... mais le bug c'est que j'utilise ce type de code (sans utiliser le Dir) dans mon programme et ca fonctionne très bien....
Mais je vais prendre ton code car on dirais que ce ne fonctionne pas toujours ce shellexecute....
Est-ce que tu peux me dire pourquoi ca fonctionne si j'utilise une ligne de code comme cela
Fichier1 = ShellExecute(Me.hWnd, "open", _
"m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny\INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8" _
& "01__" & strIndex & "*.htm", vbNullString, "", SW_SHOWNORMAL)
Mais pourquoi si je rajoute l'étoile ca ne fonctionne pas ???? et s'il n'y a pas d'étoile, c'est-à-dire je rentre le nom entier du fichier ca fonctionne très bien ????
J'attends de tes nouvelles à savoir si peux m'éclairer un peux... merci d'avance...
P.S. je vais essayer ton code demain et je viendrai cliquer sur "Réponse acceptée !"
shellexecute te renvoie une valeur.
que contient strIndex ?
peut-être que si au final ton fichier est "01__4040.htm", fichier non existant, shell plante.
d'où une vérification d'existance à faire avant (pour avoir le fichier correct avec certitude)
Mais c'est pas possible !!!
Qu'est-ce que vous racontez ????
Si on ne fournit pas le nom complet du fichier au ShellExecute, le fichier ne sera pas trouvé et donc ne sera pas lancé.
Le but de la commande Dir, c'est de trouver si un ou plusieurs fichiers correspondent aux critères (avec * ou ?).
Donc, pas question de lancer un shellExecute () avec un dfichier avec * ou ?, il faut le nom exact.