Re : mettre dans une variable tableau les valeurs d'un classeur fermé
bonjour CBernardT,
merci de ta réponse.
mais cela ne correspond pas vraiment à mon problème.
1) ce n'est pas une plage de cellule que je veux récupérer, mais une 30 taine de cellules. elles sont disséminées dans la feuille source.
2) je ne veux pas effacer la feuille destination, car c'est un historique de date, les dates récupérées dans le fichier source sont ajoutées dans la 1ère cellule vide correspondant au nom. pour remplir cet historique j'utilise 2 variables type tableau, que j'aliment à partir du fichier source et c'est cette partie que je n'arrive pas à effectuer le fichier source fermé.
j' ai un code de michelxld, qui n'utilise pas ADO, que je n'arrive pas à adapter à mon cas.
code :
Sub ChercheFichiersFermesV01()
Dim X As Integer, NbFichiers As Integer, y As Integer
Dim Tableau() As String
Dim Direction As String
Dim Valeur As Double
Application.ScreenUpdating = False
Direction = Dir(ThisWorkbook.Path & "\*.xls")
Do While Len(Direction) > 0 'liste tous les classeurs du repertoire
NbFichiers = NbFichiers + 1
ReDim Preserve Tableau(1 To NbFichiers)
Tableau(NbFichiers) = Direction
Direction = Dir()
Loop
If NbFichiers > 0 Then
For X = 1 To NbFichiers 'boucles sur les classeurs
' pour ne pas prendre en compte le classeur contenant la macro (synthese)
If Tableau(X) <> ThisWorkbook.Name Then
For y = 1 To 120 'boucle sur les produits à récupérer
'recupere la valeur deja existante dans le tableau de synthese
Valeur = ActiveSheet.Cells(y + 4, 2)
With ActiveSheet.Cells(y + 4, 2) 'ajout des nouvelles valeurs
.Formula = "='" & ThisWorkbook.Path & "\[" & Tableau(X) & "]" & "Feuil1" & "'!" _
& Cells(y + 1, 2).Address
.Value = .Value + Valeur
End With
Next y
End If
Next X
End If