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..
 

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
 

Discussions similaires

Réponses
4
Affichages
530

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350