XL 2019 Trier et regroupement de données

  • Initiateur de la discussion Initiateur de la discussion netparty
  • 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 !

netparty

XLDnaute Occasionnel
Bonjour à tous

Je sollicite votre car je ne suis pas un expert.

Je dispose d'un fichier qui me sert pour importer des données extraite depuis une autre plateforme. Une fois mais données insérées j'aimerais pouvoir les trier et les regrouper suivant une valeur se trouvant dans la colonne J.
Une fois le tri effectué, j'aimerai qu'il y ai une ligne vide qui sépare chaque groupe de tri.

Je joint un fichier se sera plus clair, l'onglet "Fichier Brut" représente se que j'ai importé et l'onglet "Résultat souhaité" pour se que je souhaite obtenir.

Merci d'avance à vous tous

Passer une bonne journée
 

Pièces jointes

Bonjour netparty,

Voyez le fichier joint et cette macro dans le code de la feuille "Résultat" :
VB:
Private Sub Worksheet_Activate()
Dim lig&
Application.ScreenUpdating = False
Cells.Delete 'RAZ
Sheets("Fichier Brut").[C18].CurrentRegion.EntireRow.Copy [A1] 'à adapter
With [C1].CurrentRegion.EntireRow
    .Sort .Columns(10), xlAscending, Header:=xlYes 'tri sur la colonne J
    For lig = .Rows.Count To 2 Step -1
        If .Cells(lig, 10) <> Cells(lig - 1, 10) Then
            .Rows(lig).Resize(3).Insert 'insère 3 lignes
            With .Rows(lig + 1)
                .Cells(1, 3) = .Cells(3, 10)
                .Cells(1, 3).Font.Bold = True 'gras
                .Borders(xlEdgeTop).Weight = xlThin
                .Borders(xlEdgeBottom).Weight = xlMedium
            End With
        End If
    Next
    .Rows(1).RowHeight = 24.75 'hauteur
    .Rows(1).Interior.ColorIndex = 15 'gris
    .Rows(1).Font.Bold = True 'gras
    .Columns.AutoFit 'ajustement largeurs
End With
With UsedRange: End With 'actualise les barres de défilement
End Sub
Elle se déclenche quand on active la feuille.

A+
 

Pièces jointes

Bonjour job75

Déjà un tout grand merci pour ton code, c'est super.

J'ai quelque question :
Y-a-t-il une limitation dans le nombre de colonnes
Est-il possible de transformer ton code pour l'intégrer dans une macro ?
Est-il possible que les résultat commence sur la ligne 5 ? car je ne vois pas ou je dois modifier cela

Merci et bonne journée
 
Pour la 1ère question lisez la macro : les lignes entières sont copiées.

Pour le reste voyez ce fichier (2) et la macro du bouton :
VB:
Sub Resultat()
Dim lig&
Application.ScreenUpdating = False
With Sheets("Résultat")
    .Rows("5:" & .Rows.Count).Delete 'RAZ
    Sheets("Fichier Brut").[C18].CurrentRegion.EntireRow.Copy .[A5] 'à adapter
    With .[C5].CurrentRegion.EntireRow
        .Sort .Columns(10), xlAscending, Header:=xlYes 'tri sur la colonne J
        For lig = .Rows.Count To 2 Step -1
            If .Cells(lig, 10) <> .Cells(lig - 1, 10) Then
                .Rows(lig).Resize(3).Insert 'insère 3 lignes
                With .Rows(lig + 1)
                    .Cells(1, 3) = .Cells(3, 10)
                    .Cells(1, 3).Font.Bold = True 'gras
                    .Borders(xlEdgeTop).Weight = xlThin
                    .Borders(xlEdgeBottom).Weight = xlMedium
                End With
            End If
        Next
        .Rows(1).RowHeight = 24.75 'hauteur
        .Rows(1).Interior.ColorIndex = 15 'gris
        .Rows(1).Font.Bold = True 'gras
    End With
    .Columns.AutoFit 'ajustement largeurs
    With .UsedRange: End With 'actualise les barres de défilement
End With
End Sub
 

Pièces jointes

Dernière édition:
- 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
5
Affichages
362
Réponses
37
Affichages
2 K
Retour