Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 VBA : Ouvrir et récupérer des données dans des classeurs

valou

XLDnaute Nouveau
Bonjour à tous,

J'ai du mal à faire marcher ce code..: Je souhaiterais, en cliquant sur un bouton, ouvrir les uns après les autres des fichiers contenus dans un dossier, effectuer mes instructions (par exemple afficher la cellule A1), fermer le fichier et passer au suivant. Voici le bout de code que j'ai fait en m'inspirant d'exemples.

Pourriez-vous me donner un petit coup de pouce svp

Merci
Val

Code:
Private Sub CommandButton2_Click()
Dim Fichier As String, Chemin As String
Dim wb As Worksheet
 
Chemin = "C:\Users\toto\Desktop\2016"
Fichier = Dir(Chemin & "*.xlsx")
 
Do While Fichier <> ""
 
'Ouvrir le fichier
'Instructions (exemple : afficher cellule A1)
'Fermer le fichier
 
wb.Close
Set wb = Nothing
Fichier = Dir
Loop
End Sub
 

Yurperqod

XLDnaute Occasionnel
Bonjour le forum

valou
Ton code devrait plutôt s'écrire ainsi:
VB:
Private Sub CommandButton2_Click()
Dim Fichier As String, Chemin As String
Dim wb As Workbook

Chemin = "C:\Users\toto\Desktop\2016\"
Fichier = Dir(Chemin & "*.xlsx")

Do While Fichier <> ""

'Ouvrir le fichier
Workbooks.open Fichier
set wb=ActiveWorkbook
'Instructions (exemple : afficher cellule A1)
MsgBox wb.sheets(1).range("A1").text
'Fermer le fichier
wb.Close
Set wb = Nothing
Fichier = Dir
Loop
End Sub
 
C

Compte Supprimé 979

Guest
Bonjour Valou ;-)

Essaye comme ça
Code:
Private Sub CommandButton2_Click()
  Dim Fichier As String, Chemin As String
  Dim Wbk As Workbook

  Chemin = "C:\Users\toto\Desktop\2016\"
  If Right(Chemin,1) <> "\" then Chemin = Chemin & "\"
  Fichier = Dir(Chemin & "*.xlsx")

  Do While Fichier <> ""
    'Ouvrir le fichier
    Set Wbk = Workbooks.Open(Chemin &  Fichier)
    'Instructions (exemple : afficher cellule A1)
    Wbk.Sheets(1).Activate
    Wbk.Sheets(1).Range("A1").Select
    'Fermer le fichier
    Wbk.Close
    Set Wbk = Nothing
    Fichier = Dir
  Loop
End Sub

A+
 
Dernière modification par un modérateur:

valou

XLDnaute Nouveau
Bonjour et merci à vous deux pour les réponses. Hélas cela ne marche toujours pas :'(

Ce lien n'existe plus ton code plante sur la ligne "Workbooks.open Fichier" : le message d'erreur suivant apparait : "nomdemonpremierfichier".xlsx could not be found, check the name... etc étrange, s'il trouve le nom du fichier pourquoi il me dit qu'il le trouve pas..
Ce lien n'existe plus rien ne se passe lors de l'exécution..
 
C

Compte Supprimé 979

Guest
Bonjour et merci à vous deux pour les réponses. Hélas cela ne marche toujours pas :'(
Ce lien n'existe plus rien ne se passe lors de l'exécution..
Ca va trop vite, je ne fais que sélectionner la cellule A1
Tu peux remplacer
Code:
Wbk.Sheets(1).Range("A1").Select
Par
Code:
Msgbox Wbk.Sheets(1).Range("A1").Value

A+
 

valou

XLDnaute Nouveau
Merci pour ton aide. J'ai toujours le même problème.. J'ai tenté le code suivant :

Code:
Private Sub CommandButton2_Click()
   Dim Fichier As String, Chemin As String
   Dim Wbk As Workbook
  Chemin = "C:\Users\toto\Desktop\2016"
   Fichier = Dir(Chemin & "*.xlsx")
  Do While Fichier <> ""
  MsgBox ("ok")
     'Ouvrir le fichier
     Set Wbk = Workbooks.Open(Chemin & "\" & Fichier)
     'Instructions (exemple : afficher cellule A1)
     Wbk.Sheets(1).Activate
     MsgBox Wbk.Sheets(1).Range("A1").Value
     'Fermer le fichier
     Wbk.Close
     Set Wbk = Nothing
     Fichier = Dir
   Loop
End Sub

Mais même le mesgbox "ok" ne s'affiche pas.. Je crois que le boucle ne balaye pas mes fichiers, il n'y aurait pas un problème avec "Do While Fichier <> "" " ?

Merci encore pour ton implication.
Val
 
C

Compte Supprimé 979

Guest
Re,

Autant pour moi, le chemin doit être
Code:
Chemin = "C:\Users\toto\Desktop\2016\"
Sinon Dir ne trouvera rien

J'ai modifié mon code plus haut
 

Yurperqod

XLDnaute Occasionnel
valou
J'avais rajouté également le \ dans le chemin (voir mon premier message)
Chemin = "C:\Users\toto\Desktop\2016\"
comme vient de le faire BrunoM45
Rajout que tu ne sembles pas voir fait, non ?
 

Discussions similaires

Réponses
4
Affichages
545
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…