VBA, Excel : liste de données ?
Résolu/Fermé
A voir également:
- VBA, Excel : liste de données ?
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
(Désolée pour le double-post ...)
Voici comment j'ai fait ...
Ce n'est toujours pas très élégant, mais ça me fait gagner de la place :)
Dim ListeEmplacement As Variant
ListeEmplacement = Array("C2", "D2", "D3", "A5", "E5", "D8", "D10", "D11", "D12", "D13", "D14", "D15", "F21", "E20", "G20", "F23", "E22", "G22", "F25", "E24", "G24", "F27", "E26", "G26", "F30", "G29", "G29", "F32", "E31", "G31", "F33", "E33", "G33", "F37", "E36", "G36", "F38", "E38", "G38", "F41", "E40", "G40", "F43", "E42", "G42", "F45", "E44", "G44", "F48")
Dim j As Integer
Dim TB(500) As Variant
Dim Colonne As Variant
Dim Ligne As Variant
Ligne = 2
Dim Fichier As Variant
Fichier = Dir(Dossier & "*" & cteExcel, vbDirectory)
Dim Version As Variant
Do While Fichier <> ""
If ((Fichier <> ".") And (Fichier <> "..")) Then
If Not ((GetAttr(Dossier & Fichier) And vbDirectory) = vbDirectory) Then
Workbooks.Open Dossier & Fichier
Version = Range("E1").Value
For j = 0 To UBound(ListeEmplacement)
TB(j) = Range(ListeEmplacement(j)).Value
Next j
ActiveWorkbook.Close SaveChanges:=False
For Colonne = 1 To UBound(ListeEmplacement) + 1 'UBound(Array) donne le nombre d'éléments -1
Cells(Ligne, Colonne).FormulaR1C1 = TB(Colonne - 1)
Next Colonne
End If
End If
Fichier = Dir
Ligne = Ligne + 1
Loop
Voici comment j'ai fait ...
Ce n'est toujours pas très élégant, mais ça me fait gagner de la place :)
Dim ListeEmplacement As Variant
ListeEmplacement = Array("C2", "D2", "D3", "A5", "E5", "D8", "D10", "D11", "D12", "D13", "D14", "D15", "F21", "E20", "G20", "F23", "E22", "G22", "F25", "E24", "G24", "F27", "E26", "G26", "F30", "G29", "G29", "F32", "E31", "G31", "F33", "E33", "G33", "F37", "E36", "G36", "F38", "E38", "G38", "F41", "E40", "G40", "F43", "E42", "G42", "F45", "E44", "G44", "F48")
Dim j As Integer
Dim TB(500) As Variant
Dim Colonne As Variant
Dim Ligne As Variant
Ligne = 2
Dim Fichier As Variant
Fichier = Dir(Dossier & "*" & cteExcel, vbDirectory)
Dim Version As Variant
Do While Fichier <> ""
If ((Fichier <> ".") And (Fichier <> "..")) Then
If Not ((GetAttr(Dossier & Fichier) And vbDirectory) = vbDirectory) Then
Workbooks.Open Dossier & Fichier
Version = Range("E1").Value
For j = 0 To UBound(ListeEmplacement)
TB(j) = Range(ListeEmplacement(j)).Value
Next j
ActiveWorkbook.Close SaveChanges:=False
For Colonne = 1 To UBound(ListeEmplacement) + 1 'UBound(Array) donne le nombre d'éléments -1
Cells(Ligne, Colonne).FormulaR1C1 = TB(Colonne - 1)
Next Colonne
End If
End If
Fichier = Dir
Ligne = Ligne + 1
Loop