rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Ouvrir des fichiers .xls avec une macro excel

Posté par Thubs, le jeudi 16 octobre 2003 à 10:43:33
Bonjour,
j'ai un petit problème avec Excel. Je crée une macro qui doit aller vérifier des données dans plusieurs fichiers excel d'un même dossier.
Le nombre de ces fichiers et leur nom est variable, donc il faudrait que la macro fasse une recherche de "*.xls" dans le dossier et puisse les ouvrir tous.
Est ce que c'est faisable ?

Merci
Phil
Répondre à Thubs  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
filaliabdou, le jeudi 16 octobre 2003 à 12:20:20
c'est faisable, je dois te répondre en détail vers 22h00.
quel est le chemin de ton réperetoire ?


time is not money, time is life
Répondre à filaliabdou

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Thubs, le jeudi 16 octobre 2003 à 22:08:03
Merci filaliabdou :)
Le chemin est "C:\Mes Documents\Devis"
Répondre à Thubs

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
olive, le jeudi 8 février 2007 à 14:33:27
Salut Thubs
je rencontre en ce moment exactement le même problème que toi pour l'ouverture d'un nombre inconnu de fichiers dont les noms varient tous. Je sais que cette discussion-là remonte à pas mal de temps mais te souviens-tu de la solution?
merci
Répondre à olive

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JvDo, le jeudi 8 février 2007 à 18:12:19
Bonsoir,

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 Sub
ne pas oublier de référencer "Microsoft scripting runtime" (menu outils/références... dans VBA)

A+
Répondre à JvDo

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
olive, le lundi 12 février 2007 à 12:09:54
Merci bcp JvDo!
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???
Répondre à olive

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JvDo, le lundi 12 février 2007 à 14:39:19
Bonjour,

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:=True
tu vérifieras les options en faisant un enregistrement manuel de macro.

cordialement
Répondre à JvDo

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 amanin, le jeudi 10 avril 2008 à 20:18:20
je n'aarive pas ouvrir xls que faire
Répondre à amanin
Logiciels pertinents trouvés dans les téléchargements
Télécharger IsoBuster 2.4IsoBuster - IsoBuster est un outil de récupération de CD, DVD, HD-DVD et BD prenant en charge tous les formats et tous leurs système de...Catégorie: Gravure
Licence: Freeware/gratuit
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger OpenOffice.org 2.4.1OpenOffice.org - OpenOffice est une suite bureautique complète entièrement gratuite, compatible avec la suite Microsoft Office. Elle...Catégorie: Suite bureautique
Licence: Open Source
Télécharger Word Viewer 2003Word Viewer - La visionneuse Word Viewer vous permet d'ouvrir des documents Word 2003 et des documents créés avec toutes les versions...Catégorie: Traitement de texte
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « ouvrir des fichiers .xls avec une macro excel »