Néanmoins :
Je souhaite ajouter le contenu de chaque fichier txt situés dans
un dossier "messages test"
Le code ci-dessous ouvre un fichier texte dans un classeur actif, répartit
le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié dans
un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les
informations.
Mon problème : c'est toujours le même fichier qui est ouvert !!
NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "C:\Documents and Settings\utilisateur\Bureau\traitement
mails\messages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
( à partir de là, le code importe le contenu de chaque texte)
Workbooks.OpenText "C:\Documents and
Settings\utilisateur\Bureau\traitement mails\messages test\*.txt" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
(là, le code va copier et coller les valeurs dans le classeur de synthèse)
Range("a1:az1").Select
Selection.Copy
ThisWorkbook.Activate
Sheets("feuil1").Select
Range("A" & i).Select
ActiveSheet.Paste
i = i + 1
Next
End If
End Sub
Je suis sur qu'il y a mieux à faire ...
Merci de votre aide
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
Dude
Essaie-ça mon cher François :)
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer
i = 1 Set fso = CreateObject("Scripting.FileSystemObject")
'mettre ici le chemin d'accès du répertoire à traiter NomDossier = "C:Documents and SettingsutilisateurBureautraitement mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files
If Files.Count <> 0 Then For Each File In Files Workbooks.OpenText File _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
'mettre ici les manips à effectuer Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste
With Workbooks(File.Name) Application.DisplayAlerts = False .Save .Close Application.DisplayAlerts = True End With i = i + 1 If i > Files.Count Then GoTo suite Next End If suite: End Sub
"FV" wrote in message news:
Bonjour
Tout d'abord, merci à isabelle pour ses infos...
Néanmoins : Je souhaite ajouter le contenu de chaque fichier txt situés dans un dossier "messages test" Le code ci-dessous ouvre un fichier texte dans un classeur actif, répartit le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié dans un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les informations. Mon problème : c'est toujours le même fichier qui est ouvert !! NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer i = 1 Set fso = CreateObject("Scripting.FileSystemObject") NomDossier = "C:Documents and SettingsutilisateurBureautraitement mailsmessages test" If NomDossier = "" Then Exit Sub Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files If Files.Count <> 0 Then For Each File In Files ( à partir de là, le code importe le contenu de chaque texte) Workbooks.OpenText "C:Documents and SettingsutilisateurBureautraitement mailsmessages test*.txt" _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited (là, le code va copier et coller les valeurs dans le classeur de synthèse) Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste i = i + 1 Next End If End Sub
Je suis sur qu'il y a mieux à faire ... Merci de votre aide
FV
Essaie-ça mon cher François :)
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
'mettre ici le chemin d'accès du répertoire à traiter
NomDossier = "C:Documents and SettingsutilisateurBureautraitement
mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
Workbooks.OpenText File _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
'mettre ici les manips à effectuer
Range("a1:az1").Select
Selection.Copy
ThisWorkbook.Activate
Sheets("feuil1").Select
Range("A" & i).Select
ActiveSheet.Paste
With Workbooks(File.Name)
Application.DisplayAlerts = False
.Save
.Close
Application.DisplayAlerts = True
End With
i = i + 1
If i > Files.Count Then GoTo suite
Next
End If
suite:
End Sub
"FV" <francois.villemonteix@ac-paris.fr> wrote in message
news:OgHSfAWIFHA.3928@TK2MSFTNGP09.phx.gbl...
Bonjour
Tout d'abord, merci à isabelle pour ses infos...
Néanmoins :
Je souhaite ajouter le contenu de chaque fichier txt situés dans
un dossier "messages test"
Le code ci-dessous ouvre un fichier texte dans un classeur actif, répartit
le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié
dans
un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les
informations.
Mon problème : c'est toujours le même fichier qui est ouvert !!
NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "C:Documents and SettingsutilisateurBureautraitement
mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
( à partir de là, le code importe le contenu de chaque texte)
Workbooks.OpenText "C:Documents and
SettingsutilisateurBureautraitement mailsmessages test*.txt" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
(là, le code va copier et coller les valeurs dans le classeur de synthèse)
Range("a1:az1").Select
Selection.Copy
ThisWorkbook.Activate
Sheets("feuil1").Select
Range("A" & i).Select
ActiveSheet.Paste
i = i + 1
Next
End If
End Sub
Je suis sur qu'il y a mieux à faire ...
Merci de votre aide
Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer
i = 1 Set fso = CreateObject("Scripting.FileSystemObject")
'mettre ici le chemin d'accès du répertoire à traiter NomDossier = "C:Documents and SettingsutilisateurBureautraitement mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files
If Files.Count <> 0 Then For Each File In Files Workbooks.OpenText File _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
'mettre ici les manips à effectuer Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste
With Workbooks(File.Name) Application.DisplayAlerts = False .Save .Close Application.DisplayAlerts = True End With i = i + 1 If i > Files.Count Then GoTo suite Next End If suite: End Sub
"FV" wrote in message news:
Bonjour
Tout d'abord, merci à isabelle pour ses infos...
Néanmoins : Je souhaite ajouter le contenu de chaque fichier txt situés dans un dossier "messages test" Le code ci-dessous ouvre un fichier texte dans un classeur actif, répartit le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié dans un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les informations. Mon problème : c'est toujours le même fichier qui est ouvert !! NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer i = 1 Set fso = CreateObject("Scripting.FileSystemObject") NomDossier = "C:Documents and SettingsutilisateurBureautraitement mailsmessages test" If NomDossier = "" Then Exit Sub Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files If Files.Count <> 0 Then For Each File In Files ( à partir de là, le code importe le contenu de chaque texte) Workbooks.OpenText "C:Documents and SettingsutilisateurBureautraitement mailsmessages test*.txt" _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited (là, le code va copier et coller les valeurs dans le classeur de synthèse) Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste i = i + 1 Next End If End Sub
Je suis sur qu'il y a mieux à faire ... Merci de votre aide
FV
FV
Ca marche impec ! merci beaucoup, quel talent ! FV "Dude" a écrit dans le message de news: #
Essaie-ça mon cher François :)
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer
i = 1 Set fso = CreateObject("Scripting.FileSystemObject")
'mettre ici le chemin d'accès du répertoire à traiter NomDossier = "C:Documents and SettingsutilisateurBureautraitement mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files
If Files.Count <> 0 Then For Each File In Files Workbooks.OpenText File _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
'mettre ici les manips à effectuer Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste
With Workbooks(File.Name) Application.DisplayAlerts = False .Save .Close Application.DisplayAlerts = True End With i = i + 1 If i > Files.Count Then GoTo suite Next End If suite: End Sub
"FV" wrote in message news:
Bonjour
Tout d'abord, merci à isabelle pour ses infos...
Néanmoins : Je souhaite ajouter le contenu de chaque fichier txt situés dans un dossier "messages test" Le code ci-dessous ouvre un fichier texte dans un classeur actif, répartit
le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié dans un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les informations. Mon problème : c'est toujours le même fichier qui est ouvert !! NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer i = 1 Set fso = CreateObject("Scripting.FileSystemObject") NomDossier = "C:Documents and SettingsutilisateurBureautraitement
mailsmessages test" If NomDossier = "" Then Exit Sub Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files If Files.Count <> 0 Then For Each File In Files ( à partir de là, le code importe le contenu de chaque texte) Workbooks.OpenText "C:Documents and SettingsutilisateurBureautraitement mailsmessages test*.txt" _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited (là, le code va copier et coller les valeurs dans le classeur de synthèse)
Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste i = i + 1 Next End If End Sub
Je suis sur qu'il y a mieux à faire ... Merci de votre aide
FV
Ca marche impec !
merci beaucoup, quel talent !
FV
"Dude" <ewinckler@hotmail.com> a écrit dans le message de news:
#gTsanWIFHA.2620@tk2msftngp13.phx.gbl...
Essaie-ça mon cher François :)
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
'mettre ici le chemin d'accès du répertoire à traiter
NomDossier = "C:Documents and SettingsutilisateurBureautraitement
mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
Workbooks.OpenText File _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
'mettre ici les manips à effectuer
Range("a1:az1").Select
Selection.Copy
ThisWorkbook.Activate
Sheets("feuil1").Select
Range("A" & i).Select
ActiveSheet.Paste
With Workbooks(File.Name)
Application.DisplayAlerts = False
.Save
.Close
Application.DisplayAlerts = True
End With
i = i + 1
If i > Files.Count Then GoTo suite
Next
End If
suite:
End Sub
"FV" <francois.villemonteix@ac-paris.fr> wrote in message
news:OgHSfAWIFHA.3928@TK2MSFTNGP09.phx.gbl...
Bonjour
Tout d'abord, merci à isabelle pour ses infos...
Néanmoins :
Je souhaite ajouter le contenu de chaque fichier txt situés dans
un dossier "messages test"
Le code ci-dessous ouvre un fichier texte dans un classeur actif,
répartit
le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié
dans
un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les
informations.
Mon problème : c'est toujours le même fichier qui est ouvert !!
NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "C:Documents and
SettingsutilisateurBureautraitement
mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
( à partir de là, le code importe le contenu de chaque texte)
Workbooks.OpenText "C:Documents and
SettingsutilisateurBureautraitement mailsmessages test*.txt" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
(là, le code va copier et coller les valeurs dans le classeur de
synthèse)
Range("a1:az1").Select
Selection.Copy
ThisWorkbook.Activate
Sheets("feuil1").Select
Range("A" & i).Select
ActiveSheet.Paste
i = i + 1
Next
End If
End Sub
Je suis sur qu'il y a mieux à faire ...
Merci de votre aide
Ca marche impec ! merci beaucoup, quel talent ! FV "Dude" a écrit dans le message de news: #
Essaie-ça mon cher François :)
Sub TousFichiersDunDossier()
Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer
i = 1 Set fso = CreateObject("Scripting.FileSystemObject")
'mettre ici le chemin d'accès du répertoire à traiter NomDossier = "C:Documents and SettingsutilisateurBureautraitement mailsmessages test"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files
If Files.Count <> 0 Then For Each File In Files Workbooks.OpenText File _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited
'mettre ici les manips à effectuer Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste
With Workbooks(File.Name) Application.DisplayAlerts = False .Save .Close Application.DisplayAlerts = True End With i = i + 1 If i > Files.Count Then GoTo suite Next End If suite: End Sub
"FV" wrote in message news:
Bonjour
Tout d'abord, merci à isabelle pour ses infos...
Néanmoins : Je souhaite ajouter le contenu de chaque fichier txt situés dans un dossier "messages test" Le code ci-dessous ouvre un fichier texte dans un classeur actif, répartit
le contenu dans les colonnes (séparateurs ;), puis ce contenu est copié dans un autre classeur "synthèse" qui rassemble, ligne par ligne, toutes les informations. Mon problème : c'est toujours le même fichier qui est ouvert !! NB : je débute en VBA...
Voici le code dans son intégralité.
Sub TousFichiersDunDossier() Dim fso As Object, Dossier As Object, NomDossier Dim Files As Object, File As Object, i As Integer i = 1 Set fso = CreateObject("Scripting.FileSystemObject") NomDossier = "C:Documents and SettingsutilisateurBureautraitement
mailsmessages test" If NomDossier = "" Then Exit Sub Set Dossier = fso.getfolder(NomDossier) Set Files = Dossier.Files If Files.Count <> 0 Then For Each File In Files ( à partir de là, le code importe le contenu de chaque texte) Workbooks.OpenText "C:Documents and SettingsutilisateurBureautraitement mailsmessages test*.txt" _ , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited (là, le code va copier et coller les valeurs dans le classeur de synthèse)
Range("a1:az1").Select Selection.Copy ThisWorkbook.Activate Sheets("feuil1").Select Range("A" & i).Select ActiveSheet.Paste i = i + 1 Next End If End Sub
Je suis sur qu'il y a mieux à faire ... Merci de votre aide