Je souhaite récupérer dans un tableau de synthèse, les données d'autres
documents Excel, dont je ne connais pas forcément le nom (donc je le fais
dynamiquement).
Voici mon code:
Sub Infos()
Dim fichier As String
Set fs = Application.FileSearch
With fs
.LookIn = ActiveWorkbook.Path
.FileType = msoFileTypeExcelWorkbooks
.Filename = "Qap*.xls" ' je recherche tous les fichiers commençant par
"Qap"
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
RenseigneTableau .FoundFiles(i)
Next i
End If
End With
Je récupère bien la liste de mes fichiers à traiter. Ce qui ne marche pas,
c'est que dans la fonction RenseigneTableau, ma variable fichier contient le
nom complet du répertoire et du fichier, alors que quand je ne mets que le
nom du fichier (mais j'y arrive pas dynamiquement), ça marche.
D'autre part, comment faire pour ne pas avoir à ouvrir manuellement chacun
des fichiers ?
Pour l'instant, toutes mes données sont recopiées dans la même colonne, je
verrai après pour incrémenter les colonnes.
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
FxM
Bonjour Sylvie,
si .FoundFiles(i) donne "C:repfich.xls" dir(.FoundFiles(i)) donne "fich.xls"
Par expérience, tu ferais bien de t'assurer également que .foundfiles(i) débute bien par le chemin que tu as défini.
chemin = activeworkbook.path (snip) .LookIn = chemin (snip) if ucase(left(.foundfiles(i),len(chemin)) = ucase(chemin) then (snip) end if
@+ FxM
Bonjour,
Je souhaite récupérer dans un tableau de synthèse, les données d'autres documents Excel, dont je ne connais pas forcément le nom (donc je le fais dynamiquement).
Voici mon code:
Sub Infos() Dim fichier As String
Set fs = Application.FileSearch With fs .LookIn = ActiveWorkbook.Path .FileType = msoFileTypeExcelWorkbooks .Filename = "Qap*.xls" ' je recherche tous les fichiers commençant par "Qap" If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count RenseigneTableau .FoundFiles(i) Next i End If End With
Je récupère bien la liste de mes fichiers à traiter. Ce qui ne marche pas, c'est que dans la fonction RenseigneTableau, ma variable fichier contient le nom complet du répertoire et du fichier, alors que quand je ne mets que le nom du fichier (mais j'y arrive pas dynamiquement), ça marche.
D'autre part, comment faire pour ne pas avoir à ouvrir manuellement chacun des fichiers ?
Pour l'instant, toutes mes données sont recopiées dans la même colonne, je verrai après pour incrémenter les colonnes.
Merci pour votre aide,
Sylvie
Bonjour Sylvie,
si .FoundFiles(i) donne "C:repfich.xls"
dir(.FoundFiles(i)) donne "fich.xls"
Par expérience, tu ferais bien de t'assurer également que .foundfiles(i)
débute bien par le chemin que tu as défini.
chemin = activeworkbook.path
(snip)
.LookIn = chemin
(snip)
if ucase(left(.foundfiles(i),len(chemin)) = ucase(chemin) then
(snip)
end if
@+
FxM
Bonjour,
Je souhaite récupérer dans un tableau de synthèse, les données d'autres
documents Excel, dont je ne connais pas forcément le nom (donc je le fais
dynamiquement).
Voici mon code:
Sub Infos()
Dim fichier As String
Set fs = Application.FileSearch
With fs
.LookIn = ActiveWorkbook.Path
.FileType = msoFileTypeExcelWorkbooks
.Filename = "Qap*.xls" ' je recherche tous les fichiers commençant par
"Qap"
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
RenseigneTableau .FoundFiles(i)
Next i
End If
End With
Je récupère bien la liste de mes fichiers à traiter. Ce qui ne marche pas,
c'est que dans la fonction RenseigneTableau, ma variable fichier contient le
nom complet du répertoire et du fichier, alors que quand je ne mets que le
nom du fichier (mais j'y arrive pas dynamiquement), ça marche.
D'autre part, comment faire pour ne pas avoir à ouvrir manuellement chacun
des fichiers ?
Pour l'instant, toutes mes données sont recopiées dans la même colonne, je
verrai après pour incrémenter les colonnes.
si .FoundFiles(i) donne "C:repfich.xls" dir(.FoundFiles(i)) donne "fich.xls"
Par expérience, tu ferais bien de t'assurer également que .foundfiles(i) débute bien par le chemin que tu as défini.
chemin = activeworkbook.path (snip) .LookIn = chemin (snip) if ucase(left(.foundfiles(i),len(chemin)) = ucase(chemin) then (snip) end if
@+ FxM
Bonjour,
Je souhaite récupérer dans un tableau de synthèse, les données d'autres documents Excel, dont je ne connais pas forcément le nom (donc je le fais dynamiquement).
Voici mon code:
Sub Infos() Dim fichier As String
Set fs = Application.FileSearch With fs .LookIn = ActiveWorkbook.Path .FileType = msoFileTypeExcelWorkbooks .Filename = "Qap*.xls" ' je recherche tous les fichiers commençant par "Qap" If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count RenseigneTableau .FoundFiles(i) Next i End If End With
Je récupère bien la liste de mes fichiers à traiter. Ce qui ne marche pas, c'est que dans la fonction RenseigneTableau, ma variable fichier contient le nom complet du répertoire et du fichier, alors que quand je ne mets que le nom du fichier (mais j'y arrive pas dynamiquement), ça marche.
D'autre part, comment faire pour ne pas avoir à ouvrir manuellement chacun des fichiers ?
Pour l'instant, toutes mes données sont recopiées dans la même colonne, je verrai après pour incrémenter les colonnes.