Bonjour,
Comment faire pour parcourir tous les fichiers xls situés dans un répertoir et d'inserer pour chaque fichier une nouvelle feuille avant d'enregistrer et de quitter?
Merci de votre aide.
Bonjour,
Comment faire pour parcourir tous les fichiers xls situés dans un répertoir et d'inserer pour chaque fichier une nouvelle feuille avant d'enregistrer et de quitter?
Merci de votre aide.
bonsoir
Cela ne répondra sans doute pas exactement à ta demande, mais juste pour le fun, une possibilité pour ajouter un onglet dans tous les classeurs d'un répertoire, sans les ouvrir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub AjoutFeuilles_Dans_ClasseursFermes() Dim ExcelCn As Object Dim maFeuille As String, Repertoire As String Dim NomClasseur As String 'Dossier contenant les classeurs Excel Repertoire = "C:\DossierTest" 'Nom de la nouvelle feuille Excel maFeuille = "MaNouvelleFeuille" NomClasseur = Dir(Repertoire & "\*.xls") 'Boucle sur les classeurs Do While NomClasseur <> "" 'Connection au classeur Excel Set ExcelCn = CreateObject("ADODB.Connection") ExcelCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Repertoire & "\" & NomClasseur & ";" & _ "Extended Properties=""Excel 8.0;HDR=NO;""" 'Création nouvelle Feuille ExcelCn.Execute "create table " & maFeuille & "(Essai Memo)" ExcelCn.Close Set ExcelCn = Nothing NomClasseur = Dir Loop MsgBox "Terminé" End Sub
michel
Bonsoir
Peut-être peux-tu t'inspirer de ce qui suit
Ok?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub AjoutFeuillesFichiersDossier() Dim fs As New Scripting.FileSystemObject Dim Dossier As Scripting.Folder Dim Fichier As Scripting.File Dim Fichiers As Scripting.Files Dim NomDossier As String Dim Classeur As Workbook Dim Feuille As Worksheet NomDossier = "c:\données\ajoutfeuilles" Set Dossier = fs.GetFolder(NomDossier) Set Fichiers = Dossier.Files For Each Fichier In Fichiers If Fichier.Type = "Feuille de calcul Microsoft Excel" Then Set Classeur = Workbooks.Open(Fichier.Path) Set Feuille = Classeur.Worksheets.Add() Feuille.Name = "Feuille ajoutée" Classeur.Save Classeur.Close End If Next Fichier End Sub
JOLIEnvoyé par SilkyRoad
Bonjour,
et si les fichiers sont des fichiers txt comment faire pour obtenir le même résultat?
A+
bonjour
???et si les fichiers sont des fichiers txt comment faire pour obtenir le même résultat?
Tu peux préciser ta demande?
michel
En fait mes fichiers sont enregistrés en txt que je souhaite transformer en xls puis ajouter dans chaque fichiers xls une feuille.
En outre, quand j'execute le code de Pierre j'ai une erreur sur l'instructionIl parait que c'est un objet absent que faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Scripting.FileSystemObject
il te manque la référence à "Microsoft Scripting runtime".. (menu outils/références ....)Envoyé par anisr
tu as raison en rajoutant cette réference le code ne génére plus d'erreur . Toutefois, il parait que le fait de copier les fichiers txt avec le même nom .xls ne résoud pas le problème.
Donc comment faire pour enregistrer ces fichiers txt sous format xls?
Merci de votre aide.
Donc comment faire pour enregistrer ces fichiers txt sous format xls?
Ouvre tes fichiers .txt dans Excel (consulte la méthode OpenText)
puis enregiste le classeur (méthode SaveAs)
michel
J'ai essayé ce code mais je ne comprend pas pourquoi ça ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub transormation() Fichier = Dir("C:\txt\Extraction\txt\") Workbooks.OpenText Filename:=Fichier, _ DataType:=xlDelimited, Tab:=True ActiveWorkbook.SaveAs Filename:=Fichier, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False End Sub
Nous non plus.Envoyé par anisr
Si tu ne nous dis pas ce qui ne va pas ou quel est le message d'erreur, on peut difficilement deviner.
Le message d'erreur estMerci de votre aide.Errer d'execution 1004 erreur definie par l'appliction ou l'objet
Si tu fais ça, les premiers noms de fichiers seront "." et "..", des noms de répertoires qui bien sûr ne sont pas accessibles.Sub transormation()
Fichier = Dir("C:\txt\Extraction\txt\")
Tu dois donc avant d'essayer d'ouvrir tes fichiers, vérifier que ce sont bien des fichiers et non des répertoires.
Tu as dans l'aide, à Dir, tout ce qu'il te faut pour faire ça
Désolé j'ai vu l'aide Dir, mais je n'est rien pigé.
bonjour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim Fichier As String Fichier = "C:\txt\Extraction\txt\NomFichier.txt" Workbooks.OpenText Filename:=Fichier, _ DataType:=xlDelimited, Tab:=True
michel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager