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

Recherche de données dans fichiers multiples

8 réponses
Avatar
sbranchu
bonjour =E0 toutes et =E0 tous,
J'ai dans un r=E9pertoire environ 2000 fichiers bas=E9s sur le m=EAme format=

mais ne portant pas le m=EAme nom.
Je voudrais r=E9cup=E9rer pour chacun de ces fichiers la donn=E9e contenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB

8 réponses

Avatar
Daniel.C
Bonjour.
Essaie (non testé) :

Sub DeuxMilleFichiers()
Dim Fich As String, Ligne As Long
Const Chemin = "e:donneesdaniel"
Application.ScreenUpdating = False
Fich = Dir(Chemin & "*.xls")
Do While Fich <> ""
Workbooks.Open Chemin & "" & Fich
Ligne = Ligne + 1
ThisWorkbook.ActiveSheet.Cells(Ligne, 1) = _
Sheets("Feuil1").Range("A1").Value
ActiveWorkbook.Close
Fich = Dir
Loop
Application.ScreenUpdating = True
End Sub

Cordialement.
Daniel
a écrit dans le message de news:

bonjour à toutes et à tous,
J'ai dans un répertoire environ 2000 fichiers basés sur le même format
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée contenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB
Avatar
JB
Bonjour,

Tous les fichiers dans le même répertoire:
Résultat dans la colonne A:

Sub essai()
rep = ThisWorkbook.Path
nf = Dir(rep & "*.xls")
[A1].Select
Do While nf <> ""
If nf <> ThisWorkbook.Name Then
temp = "='" & rep & "[" & nf & "]Feuil1'!$A$1"
ActiveCell.Formula = temp
ActiveCell = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
End If
nf = Dir
Loop
End Sub

JB


On 26 mar, 16:45, wrote:
bonjour à toutes et à tous,
J'ai dans un répertoire environ 2000 fichiers basés sur le même form at
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée contenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB


Avatar
FdeCourt
Bonsoir,

Avec cette macro (le nom des feuilles doivent être identiques). :

Sub Lire2000Fichiers()
' Ajouter la référence à Microsoft Scripting RunTime

Static FSO As FileSystemObject
Dim FSODossierSource As Scripting.Folder
Dim FSOFichier As Scripting.File
Dim dossier As String

Dim i As Integer
Dim j As Integer

dossier = "D:DONNEESde-courfrancoisBureauNouveau dossier"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set FSODossierSource = FSO.GetFolder(dossier)

For Each FSOFichier In FSODossierSource.Files
If Right(FSOFichier, 3) = "xls" Then
i = i + 1
temp = Split(FSOFichier.Path, "")

For j = 0 To UBound(temp) - 1
chemin = chemin & temp(j) & ""
Next

Cells(i, 1) = FSOFichier.Name
Cells(i, 2) = ExecuteExcel4Macro("'" & chemin & "[" &
FSOFichier.Name & "]Feuil1'!R1C1") 'modifier le nom de la feuille si
nécessaire et l'adresse de la cellule

chemin = ""

End If
Next
End Sub

On 26 mar, 16:45, wrote:
bonjour à toutes et à tous,
J'ai dans un répertoire environ 2000 fichiers basés sur le même form at
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée contenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB


Avatar
sbranchu
Bonjour JB, ça marche super... mais pourquoi ThisWorkbook.Path me
mets systématiquement : "C:Documents and SettingsSylvainApplication
DataMicrosoftExcelXLSTART" et ThisWorkbook.Name "PERSO.XLS" a



On 26 mar, 17:12, JB wrote:
Bonjour,

Tous les fichiers dans le même répertoire:
Résultat dans la colonne A:

Sub essai()
  rep = ThisWorkbook.Path
  nf = Dir(rep & "*.xls")
  [A1].Select
  Do While nf <> ""
    If nf <> ThisWorkbook.Name Then
      temp = "='" & rep & "[" & nf & "]Feuil1'!$A$1"
      ActiveCell.Formula = temp
      ActiveCell = ActiveCell.Value
      ActiveCell.Offset(1, 0).Select
    End If
    nf = Dir
  Loop
End Sub

JB

On 26 mar, 16:45, wrote:



bonjour à toutes et à tous,
J'ai dans un répertoire environ 2000 fichiers basés sur le même fo rmat
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée conten ue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
JB
Bonjour,

ActiveWorkBook.Path donne le répertoire du classeur de la macro.La
macro a sans doute été écrite dans Perso.xls.
ActiveWorkBook.Path donne le repertoire du classeur actif.

JB

On 27 mar, 08:09, wrote:
Bonjour JB, ça marche super... mais pourquoi  ThisWorkbook.Path me
mets systématiquement : "C:Documents and SettingsSylvainApplication
DataMicrosoftExcelXLSTART" et ThisWorkbook.Name "PERSO.XLS" a

On 26 mar, 17:12, JB wrote:



Bonjour,

Tous les fichiers dans le même répertoire:
Résultat dans la colonne A:

Sub essai()
  rep = ThisWorkbook.Path
  nf = Dir(rep & "*.xls")
  [A1].Select
  Do While nf <> ""
    If nf <> ThisWorkbook.Name Then
      temp = "='" & rep & "[" & nf & "]Feuil1'!$A$1"
      ActiveCell.Formula = temp
      ActiveCell = ActiveCell.Value
      ActiveCell.Offset(1, 0).Select
    End If
    nf = Dir
  Loop
End Sub

JB

On 26 mar, 16:45, wrote:

bonjour à toutes et à tous,
J'ai dans un répertoire environ 2000 fichiers basés sur le même format
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée cont enue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
sbranchu
Ce qui devait arrivé es arrivé : Des fichiers n'ont rien à faire dans
mon répertoire : Comment vérifier qu'il s'agit d'un fichier concerné,
comment vérifier si la feuille "Tata" est présente par ex ?
Merci de votre aide,
SB


On 27 mar, 08:44, JB wrote:
Bonjour,

ActiveWorkBook.Path  donne le répertoire du classeur de la macro.La
macro a sans doute été écrite dans Perso.xls.
ActiveWorkBook.Path donne le repertoire du classeur actif.

JB

On 27 mar, 08:09, wrote:



Bonjour JB, ça marche super... mais pourquoi  ThisWorkbook.Path me
mets systématiquement : "C:Documents and SettingsSylvainApplication
DataMicrosoftExcelXLSTART" et ThisWorkbook.Name "PERSO.XLS" a

On 26 mar, 17:12, JB wrote:

Bonjour,

Tous les fichiers dans le même répertoire:
Résultat dans la colonne A:

Sub essai()
  rep = ThisWorkbook.Path
  nf = Dir(rep & "*.xls")
  [A1].Select
  Do While nf <> ""
    If nf <> ThisWorkbook.Name Then
      temp = "='" & rep & "[" & nf & "]Feuil1'!$A$1"
      ActiveCell.Formula = temp
      ActiveCell = ActiveCell.Value
      ActiveCell.Offset(1, 0).Select
    End If
    nf = Dir
  Loop
End Sub

JB

On 26 mar, 16:45, wrote:

bonjour à toutes et à tous,
J'ai dans un répertoire environ 2000 fichiers basés sur le mêm e format
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée co ntenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -





Avatar
JB
Bonjour,

Sub essai()
rep = ThisWorkbook.Path
nf = Dir(rep & "*.xls")
[A1].Select
Do While nf <> ""
If nf <> ThisWorkbook.Name Then
temp = Application.ExecuteExcel4Macro("'" & rep & "" & "[" & nf
& "]feuil1'!R1C1")
If IsError(temp) Then
ActiveCell = "Erreur:" & nf
Else
ActiveCell.Formula = temp
ActiveCell = ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
End If
nf = Dir
Loop
End Sub

JB

On 29 mar, 08:53, wrote:
Ce qui devait arrivé es arrivé : Des fichiers n'ont rien à faire dan s
mon répertoire : Comment vérifier qu'il s'agit d'un fichier concerné ,
comment vérifier si la feuille "Tata" est présente par ex ?
Merci de votre aide,
SB

On 27 mar, 08:44,JB wrote:



Bonjour,

ActiveWorkBook.Path  donne le répertoire du classeur de la macro.La
macro a sans doute été écrite dans Perso.xls.
ActiveWorkBook.Path donne le repertoire du classeur actif.

JB

On 27 mar, 08:09, wrote:

BonjourJB, ça marche super... mais pourquoi  ThisWorkbook.Path me
mets systématiquement : "C:Documents and SettingsSylvainApplicati on
DataMicrosoftExcelXLSTART" et ThisWorkbook.Name "PERSO.XLS" a

On 26 mar, 17:12,JB wrote:

Bonjour,

Tous les fichiers dans le même répertoire:
Résultat dans la colonne A:

Sub essai()
  rep = ThisWorkbook.Path
  nf = Dir(rep & "*.xls")
  [A1].Select
  Do While nf <> ""
    If nf <> ThisWorkbook.Name Then
      temp = "='" & rep & "[" & nf & "]Feuil1'!$A$1"
      ActiveCell.Formula = temp
      ActiveCell = ActiveCell.Value
      ActiveCell.Offset(1, 0).Select
    End If
    nf = Dir
  Loop
End Sub

JB

On 26 mar, 16:45, wrote:

bonjour à toutes et à tous,
J'ai dans un répertoire environ2000fichiers basés sur le mêm e format
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donnée contenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -






Avatar
sbranchu
Bonjour et merci,
c'est quoi exactement ExecuteExcel4Macro ?
Merci encore,
SB


On 29 mar, 11:00, JB wrote:
Bonjour,

Sub essai()
  rep = ThisWorkbook.Path
  nf = Dir(rep & "*.xls")
  [A1].Select
  Do While nf <> ""
    If nf <> ThisWorkbook.Name Then
      temp = Application.ExecuteExcel4Macro("'" & rep & "" & "[" & nf
& "]feuil1'!R1C1")
      If IsError(temp) Then
         ActiveCell = "Erreur:" & nf
      Else
         ActiveCell.Formula = temp
         ActiveCell = ActiveCell.Value
      End If
      ActiveCell.Offset(1, 0).Select
    End If
    nf = Dir
  Loop
End Sub

JB

On 29 mar, 08:53, wrote:



Ce qui devait arrivé es arrivé : Des fichiers n'ont rien à faire d ans
mon répertoire : Comment vérifier qu'il s'agit d'un fichier concern é,
comment vérifier si la feuille "Tata" est présente par ex ?
Merci de votre aide,
SB

On 27 mar, 08:44,JB wrote:

Bonjour,

ActiveWorkBook.Path  donne le répertoire du classeur de la macro.L a
macro a sans doute été écrite dans Perso.xls.
ActiveWorkBook.Path donne le repertoire du classeur actif.

JB

On 27 mar, 08:09, wrote:

BonjourJB, ça marche super... mais pourquoi  ThisWorkbook.Path m e
mets systématiquement : "C:Documents and SettingsSylvainApplica tion
DataMicrosoftExcelXLSTART" et ThisWorkbook.Name "PERSO.XLS" a

On 26 mar, 17:12,JB wrote:

Bonjour,

Tous les fichiers dans le même répertoire:
Résultat dans la colonne A:

Sub essai()
  rep = ThisWorkbook.Path
  nf = Dir(rep & "*.xls")
  [A1].Select
  Do While nf <> ""
    If nf <> ThisWorkbook.Name Then
      temp = "='" & rep & "[" & nf & "]Feuil1'!$A$1"
      ActiveCell.Formula = temp
      ActiveCell = ActiveCell.Value
      ActiveCell.Offset(1, 0).Select
    End If
    nf = Dir
  Loop
End Sub

JB

On 26 mar, 16:45, wrote:

bonjour à toutes et à tous,
J'ai dans un répertoire environ2000fichiers basés sur le m ême format
mais ne portant pas le même nom.
Je voudrais récupérer pour chacun de ces fichiers la donné e contenue
dans la cellule A1 de l'onglet Feuil!1.
C'est possible ?
Merci de votre aide
SB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le text e des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -