VBA. Pb avec FileSearch sous Windows XP et Excel 2003
2 réponses
HD
Bonjour,
Dans une de mes macros j'effectue un filesearch afin de trouver les fichiers
commençant par exemple par un caractère quelconque puis par une chaîne de
caractère définie. Mon problème est qu'à priori avec Excel 2003 le caractère
<< ? >> ne semble plus correspondre à 1 et 1 seul caractère quelconque il me
sort le même résultat que si j'avais mis une étoile...
Si par exemple je fais rechercher à ma macro les fichiers de nom "?toto"
j'aurais comme résultat "atoto" bien sûr mais également "abc toto" ce qui
n'est pas logique et ne se produisait pas avec mon bon vieux Excel 97.
Voici mon bout de code :
With Application.FileSearch
.LookIn = monrepertoire
.FileName = "?" & machainedecaractere
.FileType = msoFileTypeExcelWorkbooks
.SearchSubFolders = True
.MatchTextExactly = True
If .Execute > 1 Then
ret = MsgBox("Erreur: Ce dossier contient " & .FoundFiles.Count & _
" classeurs.", vbCritical, "Attention!!!")
For i = 1 To .FoundFiles.Count
ret = MsgBox(.FoundFiles(i), vbExclamation, "")
Next i
End If
If .Execute = 1 Then
Workbooks.Open FileName:=.FoundFiles(1)
End If
If .Execute = 0 Then ret = MsgBox("Aucun fichier " & Nom & " n'a été
trouvé !", vbExclamation, "")
End With
--
@+
HD
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Je découvre comme toi cette curiosité. Apparemment, le "?" est inutile. Tu obtiens le même résultat avec : .FileName = machainedecaractere Cordialement. Daniel "HD" a écrit dans le message de news: dc4q5q$1rl4$
Bonjour,
Dans une de mes macros j'effectue un filesearch afin de trouver les fichiers commençant par exemple par un caractère quelconque puis par une chaîne de caractère définie. Mon problème est qu'à priori avec Excel 2003 le caractère << ? >> ne semble plus correspondre à 1 et 1 seul caractère quelconque il me sort le même résultat que si j'avais mis une étoile...
Si par exemple je fais rechercher à ma macro les fichiers de nom "?toto" j'aurais comme résultat "atoto" bien sûr mais également "abc toto" ce qui n'est pas logique et ne se produisait pas avec mon bon vieux Excel 97.
Voici mon bout de code :
With Application.FileSearch .LookIn = monrepertoire .FileName = "?" & machainedecaractere .FileType = msoFileTypeExcelWorkbooks .SearchSubFolders = True .MatchTextExactly = True If .Execute > 1 Then ret = MsgBox("Erreur: Ce dossier contient " & .FoundFiles.Count & _ " classeurs.", vbCritical, "Attention!!!") For i = 1 To .FoundFiles.Count ret = MsgBox(.FoundFiles(i), vbExclamation, "") Next i End If
If .Execute = 1 Then Workbooks.Open FileName:=.FoundFiles(1) End If
If .Execute = 0 Then ret = MsgBox("Aucun fichier " & Nom & " n'a été trouvé !", vbExclamation, "") End With -- @+ HD
Bonjour.
Je découvre comme toi cette curiosité. Apparemment, le "?" est inutile. Tu
obtiens le même résultat avec :
.FileName = machainedecaractere
Cordialement.
Daniel
"HD" <hd@anti.spam.fr> a écrit dans le message de news:
dc4q5q$1rl4$1@biggoron.nerim.net...
Bonjour,
Dans une de mes macros j'effectue un filesearch afin de trouver les
fichiers
commençant par exemple par un caractère quelconque puis par une chaîne de
caractère définie. Mon problème est qu'à priori avec Excel 2003 le
caractère
<< ? >> ne semble plus correspondre à 1 et 1 seul caractère quelconque il
me
sort le même résultat que si j'avais mis une étoile...
Si par exemple je fais rechercher à ma macro les fichiers de nom "?toto"
j'aurais comme résultat "atoto" bien sûr mais également "abc toto" ce qui
n'est pas logique et ne se produisait pas avec mon bon vieux Excel 97.
Voici mon bout de code :
With Application.FileSearch
.LookIn = monrepertoire
.FileName = "?" & machainedecaractere
.FileType = msoFileTypeExcelWorkbooks
.SearchSubFolders = True
.MatchTextExactly = True
If .Execute > 1 Then
ret = MsgBox("Erreur: Ce dossier contient " & .FoundFiles.Count & _
" classeurs.", vbCritical, "Attention!!!")
For i = 1 To .FoundFiles.Count
ret = MsgBox(.FoundFiles(i), vbExclamation, "")
Next i
End If
If .Execute = 1 Then
Workbooks.Open FileName:=.FoundFiles(1)
End If
If .Execute = 0 Then ret = MsgBox("Aucun fichier " & Nom & " n'a été
trouvé !", vbExclamation, "")
End With
--
@+
HD
Bonjour. Je découvre comme toi cette curiosité. Apparemment, le "?" est inutile. Tu obtiens le même résultat avec : .FileName = machainedecaractere Cordialement. Daniel "HD" a écrit dans le message de news: dc4q5q$1rl4$
Bonjour,
Dans une de mes macros j'effectue un filesearch afin de trouver les fichiers commençant par exemple par un caractère quelconque puis par une chaîne de caractère définie. Mon problème est qu'à priori avec Excel 2003 le caractère << ? >> ne semble plus correspondre à 1 et 1 seul caractère quelconque il me sort le même résultat que si j'avais mis une étoile...
Si par exemple je fais rechercher à ma macro les fichiers de nom "?toto" j'aurais comme résultat "atoto" bien sûr mais également "abc toto" ce qui n'est pas logique et ne se produisait pas avec mon bon vieux Excel 97.
Voici mon bout de code :
With Application.FileSearch .LookIn = monrepertoire .FileName = "?" & machainedecaractere .FileType = msoFileTypeExcelWorkbooks .SearchSubFolders = True .MatchTextExactly = True If .Execute > 1 Then ret = MsgBox("Erreur: Ce dossier contient " & .FoundFiles.Count & _ " classeurs.", vbCritical, "Attention!!!") For i = 1 To .FoundFiles.Count ret = MsgBox(.FoundFiles(i), vbExclamation, "") Next i End If
If .Execute = 1 Then Workbooks.Open FileName:=.FoundFiles(1) End If
If .Execute = 0 Then ret = MsgBox("Aucun fichier " & Nom & " n'a été trouvé !", vbExclamation, "") End With -- @+ HD
HD
J'ai commencé à avoir des bugs suite à l'install d'Excel 2003... Je ne pense pas que mes utilisateurs aient changé leurs manières de procéder il se peut donc que ce bug n'existe pas avec Excel 97. -- @+ HD
J'ai commencé à avoir des bugs suite à l'install d'Excel 2003... Je ne pense
pas que mes utilisateurs aient changé leurs manières de procéder il se peut
donc que ce bug n'existe pas avec Excel 97.
--
@+
HD
J'ai commencé à avoir des bugs suite à l'install d'Excel 2003... Je ne pense pas que mes utilisateurs aient changé leurs manières de procéder il se peut donc que ce bug n'existe pas avec Excel 97. -- @+ HD