Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour grouper plan

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 !

jose.carreira

XLDnaute Junior
Bonjour
Quelqu’un pourrait ’il m’explique ce code ?

************************************************************************************
Sub group_A()
' Groupe par la collone A
Dim tab1 As Variant
tab1 = Range("A1:A2000").Value
p = 1
For i = 2 To 2000
If tab1(i, 1) <> tab1(i - 1, 1) Then
If p <> i - 1 Then
Range(Cells(p, 1), Cells(i - 2, 1)).Rows.Group
End If
p = i
End If
Next i
If p <> 2000 Then
End If
ActiveSheet.Outline.ShowLevels RowLevels:=1
End Sub
************************************************************************************
Je voudrais modifier cette macro mais je ne la comprends pas

Je comprends que au début je déclare une radiante que je nome tab1 et qu’elle est située de A1 à A 2000.
A la fin je regroupe le tout au niveau 1.

Mon problème c’est que la ligne de synthèse se retrouve en dessous.
Si je la modifie mon plus de déroulage et décaler ver le haut.
Pouvez-vous m’aider

Je voudrais créer plans et regrouper toutes les lignes identiques avec la ligne de synthèse en première ligne..
 
Re : Macro pour grouper plan

Bonjour

à essayer

Code:
Sub group_A()
 ' Groupe par la collone A
 Dim tab1 As Variant
 'cherche ligne dernière cellule colonne A remplie
 derlig = Range("A" & Rows.Count).End(xlUp).Row
 'copie la zone dans tableau
 tab1 = Range("A1:A" & derlig + 1).Value
 'positionne la synthèse au dessus
    With ActiveSheet.Outline
        .AutomaticStyles = False
        .SummaryRow = xlAbove
    End With
 'balaie le tableau
 p = 1 'mémorise numéro ligne quand changement de valeur dans A
 
 'boucle tant que tableau pas fini de balayer
 While p <> derlig + 1
    nbval = 0 ' mémorise le nb de valeurs à grouper
    i = p + 1
    While tab1(i, 1) = tab1(i - 1, 1)
            nbval = nbval + 1
            i = i + 1
    Wend
    If nbval > 0 Then
    'groupe les lignes si valeurs identiques dans colonne A
          Range(Cells(p + 1, 1), Cells(p, 1).Offset(nbval, 0)).Rows.Group
    End If
    p = i
Wend
'affiche plan groupé
If p <> 1 Then ActiveSheet.Outline.ShowLevels RowLevels:=1
 End Sub
 
Re : Macro pour grouper plan

Je ne puis que m’incliner devant ces paroles,
Et en suis tout « Bouche bée ».

Merci pour tes sages paroles qui arrivent comme un cadeau de noël.
C’est bien ce que je souhaiter faire.
Encore merci et bonne fêtes.
 
- 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
15
Affichages
779
Réponses
5
Affichages
909
Réponses
2
Affichages
527
Réponses
8
Affichages
778
Réponses
2
Affichages
257
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…