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
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
JOLIEnvoyé par SilkyRoad
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
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.
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
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