XL 2010 Copie de données de plusieurs feuilles dans une seule

Renaud22

XLDnaute Junior
Bonjour à tous,

J'aurais besoin qu'on m'aide à concevoir un code VBA afin de permettre la copie de données de différentes feuilles dans une seule feuille.

Dans fichier ci-joint (Exemple 1.xlsm), pour chaque feuille visible (nom et nombre variés : 001, 002,...XX) contenant les caractères "ID :" en "B8" et des caractères différents de "xx" en "C8", copier toutes les valeurs (même nulles) des cellules "AI2 à AK2", de la première feuille (à gauche) dans les cellules "E10 à QG10" de la feuille BDIST. Répéter les mêmes étages pour la deuxième feuille en copiant les cellules "AI2 à AK2" à la suite de la plage "E10 à QG10" soit dans les cellules "E11 à QG11" de la feuille BDIST et ainsi de suite jusqu'à la dernière feuille contenant les caractères "ID :" en "B8" et des caractères différents de "xx" en "C8".

Une fois toutes les données copiées, des filtres devront être appliqués dans les cellules "E9 à QG9" de la feuille BDIST afin de trier ou rechercher des données précises.

En vous remerciant par avance pour votre précieuse aide.

Salutations,

Renaud22
 

Pièces jointes

  • Exemple 1.xlsm
    436.3 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Renaud,
Un essai avec ce que j'ai compris :
VB:
Sub Consolide()
Dim Nom$, F, L%
Nom = ActiveSheet.Name
L = 10
[E10:QG1000].ClearContents
For Each F In Worksheets
    If F.Name <> Nom Then
        With Sheets(F.Name)
            If .[C7] <> "" And .[B8] <> "ID" And .[C8] <> "" Then
                Range(Cells(L, "E"), Cells(L, "QG")) = .Range("AI2:RK2").Value
                L = L + 1
            End If
        End With
    End If
Next F
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Range("E6:QG" & [E60000].End(xlUp).Row).AutoFilter
End Sub
 

Pièces jointes

  • Exemple 1.xlsm
    446.4 KB · Affichages: 2

Renaud22

XLDnaute Junior
Bonjour sylvanu,

Merci beaucoup pour votre aide. J'ai changé la ligne : "If .[C7] <> "" And .[B8] <> "ID" And .[C8] <> "" Then" pour : " If .[B8] = "ID :" And .[C8] <> "xx" Then" afin de tenir compte de mes contraintes. Tout fonctionne donc à merveille.

Sincères salutations,

Renaud22
 

Discussions similaires

Statistiques des forums

Discussions
314 088
Messages
2 105 678
Membres
109 413
dernier inscrit
s.amine