Récupérer la valeur d'une cellule dans plusieurs classeurs identiques

Signaler
-
 Utilisateur anonyme -
Bonjour à tous,
Merci d'avance de m'accorder un peu de votre temps, pour m'aider à résoudre mon problème.

Je vous solicite car je voudrais récupérer la valeur d'une cellule dans plusieurs classeurs identiques sauf le nom qui change.
Je voudrais donc copier ces valeurs situées dans les cellules "F12" des feuilles "Cover Page CAA" de chaque classeurq afin de coller toutes ces valeurs dans un fichier "test_list2" dans la feuille "Listes_Devis" à partir de la cellule "D13".

Voilà le début du code mais sa marche pas :s, où est mon erreur.
Sub test()

Dim objFSO, objDossier
Dim mWbk As Excel.Workbook


Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder("D:\totot")

If (objDossier.Files.Count > 0) Then
For Each objFichier In objDossier.Files
If (InStr(1, objFichier.Name, ".xls", 1) > 0) Then

Set mWbk = Excel.Workbooks.Open(objDossier.Path & "" & objFichier.Name)

mWbk.Worksheets("Cover page CAA").Range("F12").Value
Workbook("test_list2").Worksheets("Liste_Devis").Range("D" & 13).End(xlUp)(2).Row.Paste 

mWbk.Close
Set mWbk = Nothing
End If
Next
End If


End Sub

Merci d'avance de votre aide.

1 réponse


Bonjour,

Voilà le début du code mais sa marche pas :s, où est mon erreur.

C'est quoi qui ne marche pas ? Il doit bien y avoir un message d'erreur à quelque part.

En jouant de la boule de cristal virtuelle:

Set mWbk Excel.Workbooks.Open(objDossier.Path & "" & objFichier.Name)

> Excel ==> Il n'y a rien qui définisse ton objet Excel

> objDossier.Path & "" & objFichier.Name ==> Es-tu sûr que toutes tes données ont une valeur et que ton chemin d'accès est valide.

Personnellement, j'utilise une variable qui regroupe les valeurs concaténées et je fais "ouvrir" avec la variable finale. Cela permet de mettre un espion sur la variable et de voir si le chemin est valide, avant de planter le programme.

Et puis, d'une manière plus générale FSO est l'escargot de tout ce que Windows peut fournir pour explorer un dossier. Tu devrais privilégier la fonction Dir() de VBA. Même si elle est antique, elle encore plus rapide que FSO.