VB6 Qu'est ce qui remplace le *.* [Résolu]

cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 25 avril 2006 à 15:29 - Dernière réponse : asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention
- 26 avril 2006 à 10:51
Bonjour à tous... j'ai un blanc de mémoire...

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 ????

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)

merci d'avance
Afficher la suite 

17 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 25 avril 2006 à 21:12
3
Merci
ce fameux dir ...


Private Sub cmdIndex_Click()
'...
strIndex = txtIndex

Const sPath As String = "m:\Recherches_BPD\index_aux_immeubles\BPD_Montcalm\Kilkenny" & _
"INDEX_ST-CALIXTE\MONTCALM\Canton_de_Kilkenny\RANG_8"

Dim sMyFile As String
sMyFile = Dir (sPath & "01__" & strIndex & "*.htm")

If sMyFile <> vbNullString Then
Fichier1 = ShellExecute(Me.hWnd, "open", sPath & sMyFile, vbNullString, "", SW_SHOWNORMAL)
End If
End Sub


<small> Coloration
syntaxique automatique [AFCK]</small>

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

cs_emma16 61 Messages postés dimanche 8 mai 2005Date d'inscription 23 juin 2006 Dernière intervention - 25 avril 2006 à 16:58
0
Merci
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...

@+
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 25 avril 2006 à 17:16
0
Merci
Bonjour,

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....

A+

Alain 31
cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 25 avril 2006 à 17:19
0
Merci
Salut....

J'aimerais bien aller sur MSDN mais je ne sai spas quoi chercher.....

Je ne sais pas quoi écrire dans ma recherche.... Comment se nomme le symbole # pour que j epuisse avec des exemple... ????

C'est pour cela que j'ai pensé à écrir sur le forum....

À moins que quelqu'un puisse me dire comment se nomme le type de fonction que j'ai besoin...

Merci d'avance
cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 25 avril 2006 à 17:49
0
Merci
Salut...

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

Comment je fais pour coder cela ????

merci d'avance

En espérant que j'ai été un peu plus clair...
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 25 avril 2006 à 18:25
0
Merci
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 ...

Cordialement,

Alain 31
cs_emma16 61 Messages postés dimanche 8 mai 2005Date d'inscription 23 juin 2006 Dernière intervention - 25 avril 2006 à 18:35
0
Merci
# = dièse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 25 avril 2006 à 18:50
0
Merci
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.
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 25 avril 2006 à 19:02
0
Merci
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.

(non mais....)

Alain 31
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 25 avril 2006 à 19:31
0
Merci
les ouvrir après ou en tableau, peu importe...
et dir, je parle de la fonction, pas de l'objet
JB76000 135 Messages postés vendredi 4 juin 2004Date d'inscription 14 février 2013 Dernière intervention - 25 avril 2006 à 19:57
0
Merci
Essaie 01__10A-1???????.htm , mets autant de ? que tu en as besoin

Je ne suis pas sûr que ca marche.

Jer
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 25 avril 2006 à 20:01
0
Merci
Bon, on s'énerve pour rien : JeffC1977 n'a pas testé ou du moins répondu .....

A+

Alain 31
cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 25 avril 2006 à 20:26
0
Merci
Salut... merci à tous.....

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....

je vous redonne des nouvelles...

merci
cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 25 avril 2006 à 20:58
0
Merci
Rebonjour... ou plutôt bonsoir

J'ai fais deux test à vrai dire...

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
cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 25 avril 2006 à 22:26
0
Merci
salut PCPT

Merci pour le code avec le Dir....

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 !"

merci encore
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 25 avril 2006 à 22:32
0
Merci
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)
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 26 avril 2006 à 10:51
0
Merci
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.

Donc le code de PCPT doit marcher.

Décidément, y'en a qui sont tétus.....

Cordialement,

Alain 31

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.