• Initiateur de la discussion Initiateur de la discussion Celeda
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Celeda

XLDnaute Barbatruc
Bonjour,

Je dois faire une récap de fiches clients selon le critère de la Date de livraison.

Dans le fichier ci-joint, il y a des fiches clients nominatives : la Date 3 est la date de livraison. Quand il n'y a rien dans la cellule c'est que l'action n'a pas été encore faite.

Selon la date de livraison de chaque fiche, je vais récupérer les infos qui se trouvent sur toute la ligne, pour les placer dans la feuille recap.

Les fiches clients sont toutes identiques. Il se peut que plusieurs clients soient livrés le même jour mais ils peuvent se retrouver les uns en dessous des autres.
L'important dans la récap est de récuperer les noms des clients (en A1 dans toutes les feuilles) avec les dates de livraison qui se suivent et toutes les informations se rapportant à chaque ligne.

Si vous pouviez m'aider à macrotiser tout cela, cela me permettrait de gagner beaucoup de temps et je vous remercie à l'avance de votre aide.
Et j'espère que j'ai été bien claire.Merci.
 

Pièces jointes

Re : Vba- recap feuilles

Bonjour Céléda,

Si j'ai bien compris, cela devrait aller. A la fin de la procédure la plage résultante est triée sur le nom et la date3.

VB:
Sub RecapHebdo()
    Dim Plage As Range, c As Range, cDest As Range
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> "RECAP" Then
            With sh
                Set Plage = .Range(.Cells(7, 1), .Cells(.Rows.Count, 1).End(xlUp))
                If Plage.Row > 6 Then 'vérifier que la plage n'est pas vide
                  For Each c In Plage.Cells
                    If IsDate(c(1, 9)) Then
                        Set cDest = Sheets("RECAP").Cells(Rows.Count, 1).End(xlUp).Offset(1)
                        cDest = sh.Name
                        c.Resize(, 12).Copy Destination:=cDest(1, 2)
                    End If
                  Next
                End If
            End With
        End If
 
    Next
    'Tri de la plage de récupération
     Set Plage = Sheets("RECAP").Range("A6").CurrentRegion
     With Plage
     If .Rows.Count > 2 Then
        .Sort Key1:=.Cells(1, 1), key2:=.Cells(1, 10), Header:=xlYes
     End If
    End With
End Sub

A+
 
Dernière modification par un modérateur:
Re : Vba- recap feuilles

Hello à tous

Avec 10 bonnes minutes de retards....

Code:
'Macro pour Celeda :
'récupération des contenus de chaque feuille dans une feuille récap


Sub recup_contenu()
colonne_date3 = 9
ligne_recup = 7

'pour chaque feuille différente de récap :
For Each feuille In Sheets
    If feuille.Name <> "RECAP" Then
        'prendre le contenu de A1
        nom_feuille = feuille.Cells(1, 1).Value
        'se mettre en ligne 7
        For ligne_feuille = 7 To feuille.Cells.SpecialCells(xlCellTypeLastCell).Row
            If feuille.Cells(ligne_feuille, colonne_date3).Value <> "" Then
            'copier
                Sheets("RECAP").Cells(ligne_recup, 1).Value = nom_feuille
                For col = 1 To 12
                    Sheets("RECAP").Cells(ligne_recup, 1 + col).Value = feuille.Cells(ligne_feuille, col).Value
                Next col
                ligne_recup = ligne_recup + 1
            End If
        Next
        
'copier toutes les lignes si date 3 <> ""
    
    End If
Next

End Sub

Ciao
 
Re : Vba- recap feuilles

Bonjour,


Encore une fois je vous remercie et les trois fonctionnent très bien (mais cela vous vous en doutiez) : Hasco pour sa célérité, Modeste pour l'activate et pour les 10 mn et les explications de Odesta.
Sympa.
Merci. 🙂🙂🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
846
Réponses
1
Affichages
124
Réponses
10
Affichages
607
Retour