Bonjour,
J'ai créé un programme qui recherche dans un dossier particulier, des
fichiers dont le nom commence par une lettre spécifique. Or il me retourne
l'ensemble des fichiers dont le nom contient cette lettre.
Pour vous aider, voici les instructions :
Sub trouverClasseur()
Set travail = Application.FileSearch
travail.LookIn = "C:\Documents and Settings\caride\Mes documents"
travail.Filename = "G*.xls"
If travail.Execute > 0 Then
For i = 1 To travail.FoundFiles.Count
If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo +
vbCritical) = vbYes Then
Workbooks.Open (travail.FoundFiles(i))
End If
Next
End If
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
Jacques93
Bonsoir Nicolas, Nicolas a écrit :
Bonjour, J'ai créé un programme qui recherche dans un dossier particulier, des fichiers dont le nom commence par une lettre spécifique. Or il me retourne l'ensemble des fichiers dont le nom contient cette lettre. Pour vous aider, voici les instructions :
Sub trouverClasseur() Set travail = Application.FileSearch
travail.LookIn = "C:Documents and SettingscarideMes documents" travail.Filename = "G*.xls"
If travail.Execute > 0 Then For i = 1 To travail.FoundFiles.Count If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo + vbCritical) = vbYes Then Workbooks.Open (travail.FoundFiles(i)) End If Next End If
End Sub
Il y a apparement un fonctionnement 'bizarre' de FileSearch Si on indique :
.FileName = "G*.xls"
cela renvoie tous les classeurs contenant la lettre G Si on on indique :
Cela renvoie les fichiers commençant par la lettre G, mais pas seulement les .xls . Tu pourrais peut être avoir l'explication sur le groupe microsoft.public.fr.excel
Sinon, soit tu adaptes, par exemple :
Sub trouverClasseur() Dim i As Integer
With Application.FileSearch .LookIn = "C:Documents and SettingscarideMes documents" .Filename = "C*" .FileType = msoFileTypeExcelWorkbooks If .Execute > 0 Then For i = 1 To .FoundFiles.Count If UCase(Right(.FoundFiles(i), 4)) = ".XLS" Then If MsgBox("Désirez vous ouvrir " & .FoundFiles(i), _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (.FoundFiles(i)) End If End If Next End If End With End Sub
soit tu changes de méthode :
Sub trouverClasseur() Dim Path As String Dim fName As String
Path = "C:Documents and SettingsAdministrateurMes documents" fName = Dir(Path & "C*.xls") While Len(fName) > 0 If MsgBox("Désirez vous ouvrir " & Path & fName, _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (Path & fName) End If fName = Dir() Wend End Sub
-- Cordialement,
Jacques.
Bonsoir Nicolas,
Nicolas a écrit :
Bonjour,
J'ai créé un programme qui recherche dans un dossier particulier, des
fichiers dont le nom commence par une lettre spécifique. Or il me retourne
l'ensemble des fichiers dont le nom contient cette lettre.
Pour vous aider, voici les instructions :
Sub trouverClasseur()
Set travail = Application.FileSearch
travail.LookIn = "C:Documents and SettingscarideMes documents"
travail.Filename = "G*.xls"
If travail.Execute > 0 Then
For i = 1 To travail.FoundFiles.Count
If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo +
vbCritical) = vbYes Then
Workbooks.Open (travail.FoundFiles(i))
End If
Next
End If
End Sub
Il y a apparement un fonctionnement 'bizarre' de FileSearch
Si on indique :
.FileName = "G*.xls"
cela renvoie tous les classeurs contenant la lettre G
Si on on indique :
Cela renvoie les fichiers commençant par la lettre G, mais pas seulement
les .xls . Tu pourrais peut être avoir l'explication sur le groupe
microsoft.public.fr.excel
Sinon, soit tu adaptes, par exemple :
Sub trouverClasseur()
Dim i As Integer
With Application.FileSearch
.LookIn = "C:Documents and SettingscarideMes documents"
.Filename = "C*"
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
If UCase(Right(.FoundFiles(i), 4)) = ".XLS" Then
If MsgBox("Désirez vous ouvrir " & .FoundFiles(i), _
vbYesNo + vbCritical) = vbYes Then
Workbooks.Open (.FoundFiles(i))
End If
End If
Next
End If
End With
End Sub
soit tu changes de méthode :
Sub trouverClasseur()
Dim Path As String
Dim fName As String
Path = "C:Documents and SettingsAdministrateurMes documents"
fName = Dir(Path & "C*.xls")
While Len(fName) > 0
If MsgBox("Désirez vous ouvrir " & Path & fName, _
vbYesNo + vbCritical) = vbYes Then
Workbooks.Open (Path & fName)
End If
fName = Dir()
Wend
End Sub
Bonjour, J'ai créé un programme qui recherche dans un dossier particulier, des fichiers dont le nom commence par une lettre spécifique. Or il me retourne l'ensemble des fichiers dont le nom contient cette lettre. Pour vous aider, voici les instructions :
Sub trouverClasseur() Set travail = Application.FileSearch
travail.LookIn = "C:Documents and SettingscarideMes documents" travail.Filename = "G*.xls"
If travail.Execute > 0 Then For i = 1 To travail.FoundFiles.Count If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo + vbCritical) = vbYes Then Workbooks.Open (travail.FoundFiles(i)) End If Next End If
End Sub
Il y a apparement un fonctionnement 'bizarre' de FileSearch Si on indique :
.FileName = "G*.xls"
cela renvoie tous les classeurs contenant la lettre G Si on on indique :
Cela renvoie les fichiers commençant par la lettre G, mais pas seulement les .xls . Tu pourrais peut être avoir l'explication sur le groupe microsoft.public.fr.excel
Sinon, soit tu adaptes, par exemple :
Sub trouverClasseur() Dim i As Integer
With Application.FileSearch .LookIn = "C:Documents and SettingscarideMes documents" .Filename = "C*" .FileType = msoFileTypeExcelWorkbooks If .Execute > 0 Then For i = 1 To .FoundFiles.Count If UCase(Right(.FoundFiles(i), 4)) = ".XLS" Then If MsgBox("Désirez vous ouvrir " & .FoundFiles(i), _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (.FoundFiles(i)) End If End If Next End If End With End Sub
soit tu changes de méthode :
Sub trouverClasseur() Dim Path As String Dim fName As String
Path = "C:Documents and SettingsAdministrateurMes documents" fName = Dir(Path & "C*.xls") While Len(fName) > 0 If MsgBox("Désirez vous ouvrir " & Path & fName, _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (Path & fName) End If fName = Dir() Wend End Sub
-- Cordialement,
Jacques.
Nicolas
Merci Jacques pour m'avoir orienté vers le forum Microsoft.public...qui confirme l'existence d'un "bug" lors de l'utilisation de filesearch avec Windows XP. Merci également pour la solution du path que je ne connaissais pas. -- Nicolas
"Jacques93" a écrit :
Bonsoir Nicolas, Nicolas a écrit : > Bonjour, > J'ai créé un programme qui recherche dans un dossier particulier, des > fichiers dont le nom commence par une lettre spécifique. Or il me retourne > l'ensemble des fichiers dont le nom contient cette lettre. > Pour vous aider, voici les instructions : > > Sub trouverClasseur() > Set travail = Application.FileSearch > > travail.LookIn = "C:Documents and SettingscarideMes documents" > travail.Filename = "G*.xls" > > If travail.Execute > 0 Then > For i = 1 To travail.FoundFiles.Count > If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo + > vbCritical) = vbYes Then > Workbooks.Open (travail.FoundFiles(i)) > End If > Next > End If > > End Sub >
Il y a apparement un fonctionnement 'bizarre' de FileSearch Si on indique :
.FileName = "G*.xls"
cela renvoie tous les classeurs contenant la lettre G Si on on indique :
Cela renvoie les fichiers commençant par la lettre G, mais pas seulement les .xls . Tu pourrais peut être avoir l'explication sur le groupe microsoft.public.fr.excel
Sinon, soit tu adaptes, par exemple :
Sub trouverClasseur() Dim i As Integer
With Application.FileSearch .LookIn = "C:Documents and SettingscarideMes documents" .Filename = "C*" .FileType = msoFileTypeExcelWorkbooks If .Execute > 0 Then For i = 1 To .FoundFiles.Count If UCase(Right(.FoundFiles(i), 4)) = ".XLS" Then If MsgBox("Désirez vous ouvrir " & .FoundFiles(i), _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (.FoundFiles(i)) End If End If Next End If End With End Sub
soit tu changes de méthode :
Sub trouverClasseur() Dim Path As String Dim fName As String
Path = "C:Documents and SettingsAdministrateurMes documents" fName = Dir(Path & "C*.xls") While Len(fName) > 0 If MsgBox("Désirez vous ouvrir " & Path & fName, _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (Path & fName) End If fName = Dir() Wend End Sub
-- Cordialement,
Jacques.
Merci Jacques pour m'avoir orienté vers le forum Microsoft.public...qui
confirme l'existence d'un "bug" lors de l'utilisation de filesearch avec
Windows XP. Merci également pour la solution du path que je ne connaissais
pas.
--
Nicolas
"Jacques93" a écrit :
Bonsoir Nicolas,
Nicolas a écrit :
> Bonjour,
> J'ai créé un programme qui recherche dans un dossier particulier, des
> fichiers dont le nom commence par une lettre spécifique. Or il me retourne
> l'ensemble des fichiers dont le nom contient cette lettre.
> Pour vous aider, voici les instructions :
>
> Sub trouverClasseur()
> Set travail = Application.FileSearch
>
> travail.LookIn = "C:Documents and SettingscarideMes documents"
> travail.Filename = "G*.xls"
>
> If travail.Execute > 0 Then
> For i = 1 To travail.FoundFiles.Count
> If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo +
> vbCritical) = vbYes Then
> Workbooks.Open (travail.FoundFiles(i))
> End If
> Next
> End If
>
> End Sub
>
Il y a apparement un fonctionnement 'bizarre' de FileSearch
Si on indique :
.FileName = "G*.xls"
cela renvoie tous les classeurs contenant la lettre G
Si on on indique :
Cela renvoie les fichiers commençant par la lettre G, mais pas seulement
les .xls . Tu pourrais peut être avoir l'explication sur le groupe
microsoft.public.fr.excel
Sinon, soit tu adaptes, par exemple :
Sub trouverClasseur()
Dim i As Integer
With Application.FileSearch
.LookIn = "C:Documents and SettingscarideMes documents"
.Filename = "C*"
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
If UCase(Right(.FoundFiles(i), 4)) = ".XLS" Then
If MsgBox("Désirez vous ouvrir " & .FoundFiles(i), _
vbYesNo + vbCritical) = vbYes Then
Workbooks.Open (.FoundFiles(i))
End If
End If
Next
End If
End With
End Sub
soit tu changes de méthode :
Sub trouverClasseur()
Dim Path As String
Dim fName As String
Path = "C:Documents and SettingsAdministrateurMes documents"
fName = Dir(Path & "C*.xls")
While Len(fName) > 0
If MsgBox("Désirez vous ouvrir " & Path & fName, _
vbYesNo + vbCritical) = vbYes Then
Workbooks.Open (Path & fName)
End If
fName = Dir()
Wend
End Sub
Merci Jacques pour m'avoir orienté vers le forum Microsoft.public...qui confirme l'existence d'un "bug" lors de l'utilisation de filesearch avec Windows XP. Merci également pour la solution du path que je ne connaissais pas. -- Nicolas
"Jacques93" a écrit :
Bonsoir Nicolas, Nicolas a écrit : > Bonjour, > J'ai créé un programme qui recherche dans un dossier particulier, des > fichiers dont le nom commence par une lettre spécifique. Or il me retourne > l'ensemble des fichiers dont le nom contient cette lettre. > Pour vous aider, voici les instructions : > > Sub trouverClasseur() > Set travail = Application.FileSearch > > travail.LookIn = "C:Documents and SettingscarideMes documents" > travail.Filename = "G*.xls" > > If travail.Execute > 0 Then > For i = 1 To travail.FoundFiles.Count > If MsgBox("Désirez vous ouvrir " & travail.FoundFiles(i), vbYesNo + > vbCritical) = vbYes Then > Workbooks.Open (travail.FoundFiles(i)) > End If > Next > End If > > End Sub >
Il y a apparement un fonctionnement 'bizarre' de FileSearch Si on indique :
.FileName = "G*.xls"
cela renvoie tous les classeurs contenant la lettre G Si on on indique :
Cela renvoie les fichiers commençant par la lettre G, mais pas seulement les .xls . Tu pourrais peut être avoir l'explication sur le groupe microsoft.public.fr.excel
Sinon, soit tu adaptes, par exemple :
Sub trouverClasseur() Dim i As Integer
With Application.FileSearch .LookIn = "C:Documents and SettingscarideMes documents" .Filename = "C*" .FileType = msoFileTypeExcelWorkbooks If .Execute > 0 Then For i = 1 To .FoundFiles.Count If UCase(Right(.FoundFiles(i), 4)) = ".XLS" Then If MsgBox("Désirez vous ouvrir " & .FoundFiles(i), _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (.FoundFiles(i)) End If End If Next End If End With End Sub
soit tu changes de méthode :
Sub trouverClasseur() Dim Path As String Dim fName As String
Path = "C:Documents and SettingsAdministrateurMes documents" fName = Dir(Path & "C*.xls") While Len(fName) > 0 If MsgBox("Désirez vous ouvrir " & Path & fName, _ vbYesNo + vbCritical) = vbYes Then Workbooks.Open (Path & fName) End If fName = Dir() Wend End Sub
-- Cordialement,
Jacques.
Jacques93
Bonjour Nicolas, Nicolas a écrit :
Merci Jacques pour m'avoir orienté vers le forum Microsoft.public...qui confirme l'existence d'un "bug" lors de l'utilisation de filesearch avec Windows XP. Merci également pour la solution du path que je ne connaissais pas.
Merci du retour :-)
-- Cordialement,
Jacques.
Bonjour Nicolas,
Nicolas a écrit :
Merci Jacques pour m'avoir orienté vers le forum Microsoft.public...qui
confirme l'existence d'un "bug" lors de l'utilisation de filesearch avec
Windows XP. Merci également pour la solution du path que je ne connaissais
pas.
Merci Jacques pour m'avoir orienté vers le forum Microsoft.public...qui confirme l'existence d'un "bug" lors de l'utilisation de filesearch avec Windows XP. Merci également pour la solution du path que je ne connaissais pas.