Ouvrir des fichiers .xls avec une macro excel
Résolu/Fermé
A voir également:
- Ouvrir des fichiers .xls avec une macro excel
- Ouvrir fichier .bin - Guide
- Liste déroulante excel - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier rar - Guide
- Comment ouvrir un fichier docx ? - Guide
4 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
8 févr. 2007 à 18:12
8 févr. 2007 à 18:12
Bonsoir,
voici une vieille contribution réaménagée :
A+
voici une vieille contribution réaménagée :
Option Explicit Public dossier Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type '32-bit API declarations Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Function GetDirectory(Optional Msg) As String Dim bInfo As BROWSEINFO Dim path As String Dim r As Long, x As Long, pos As Integer bInfo.pidlRoot = 0& If IsMissing(Msg) Then bInfo.lpszTitle = "" Else bInfo.lpszTitle = Msg End If bInfo.ulFlags = &H1 x = SHBrowseForFolder(bInfo) path = Space$(512) r = SHGetPathFromIDList(ByVal x, ByVal path) If r Then pos = InStr(path, Chr$(0)) GetDirectory = Left(path, pos - 1) Else GetDirectory = "" End If End Function Sub Traiter_Dossier() 'Objectif : traiter les fichiers d'un répertoire ' Dim fs, i, nomfich, FileNumber, specfichier, nbfichiers Dim fso As New FileSystemObject dossier = GetDirectory("choisissez le dossier à traiter") If dossier <> "" Then Set fs = Application.FileSearch With fs .LookIn = dossier .SearchSubFolders = True .FileType = msoFileTypeAllFiles If .Execute() > 0 Then nbfichiers = .FoundFiles.Count MsgBox "Ce dossier contient " & nbfichiers & " fichier(s) répondant aux critères." For i = 1 To nbfichiers specfichier = .FoundFiles(i) '********************* 'Mettre ici le traitement à réaliser '********************* Next i Else MsgBox "Aucun fichier n'a été trouvé." End If End With End If End Subne pas oublier de référencer "Microsoft scripting runtime" (menu outils/références... dans VBA)
A+
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
12 févr. 2007 à 14:39
12 févr. 2007 à 14:39
Bonjour,
tu ouvres ton fichier avec
cordialement
tu ouvres ton fichier avec
Workbooks.OpenText Filename:=specfichier, Origin:= _ xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=Truetu vérifieras les options en faisant un enregistrement manuel de macro.
cordialement
Merci filaliabdou :)
Le chemin est "C:\Mes Documents\Devis"
Le chemin est "C:\Mes Documents\Devis"
12 févr. 2007 à 12:09
Par contre, j'ai un autre souci: le dossier que j'explore contient des fichiers .txt que je dois ouvrir avec Excel et mettre en forme en reconnaissant les espaces comme séparateurs de colonnes. Grâce à ton code, j'arrive à obtenir le nom du fichier mais je n'arrive pas à l'ouvrir et un message me disant que le fichier est introuvable apparaît. Je ne sais absolument pas d'où cela peut venir. Quelqu'un aurait-il une idée???