Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA. Pb avec FileSearch sous Windows XP et Excel 2003

2 réponses
Avatar
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

2 réponses

Avatar
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




Avatar
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