Microsoft 365 VBA Grouper colonnes sous conditions

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 !

Flove91

XLDnaute Nouveau
Bonjour tout le monde,

Je viens de faire ma première session de formation VBA, je reste donc encore très novice.
Mais j'ai déjà des idées de grandeurs dans l'optimisation de mes tâches au quotidien mais surtout sur le maintient de mon apprentissage suite à ma formation des bases VBA.

Dans ce contexte, je souhaiterais dans une plage de colonnes D à AM, grouper la colonne si dans celle-ci en ligne 2 est inscrit "0".

Je vous remercie d'avance.
 
Bonsoir,
Un essai en PJ avec :
VB:
Sub Regroupe()
    Dim DC As Integer, C As Integer
    DC = Cells(2, Columns.Count).End(xlToLeft).Column               ' Dernière colonne
    For C = 4 To DC Step 3                                          ' Pour toutes les colonnes par 3
        If Cells(2, C) + Cells(2, C + 1) + Cells(2, C + 2) = 0 Then ' Si la somme en ligne 2 vaut 0
            Range(Cells(1, C), Cells(1, C + 2)).Columns.Group       ' Alors regrouper par 3 colonnes
        End If
    Next C
End Sub
Mais au vu de votre fichier, pourquoi les regrouper et non les masquer ?
Comme cela :
Code:
Sub Masquer()
    Dim DC As Integer, C As Integer
    DC = Cells(2, Columns.Count).End(xlToLeft).Column               ' Dernière colonne
    For C = 4 To DC Step 3                                          ' Pour toutes les colonnes par 3
        If Cells(2, C) + Cells(2, C + 1) + Cells(2, C + 2) = 0 Then ' Si la somme en ligne 2 vaut 0
            Range(Cells(1, C), Cells(1, C + 2)).EntireColumn.Hidden = True ' Alors masquer les 3 colonnes
        End If
    Next C
End Sub
 

Pièces jointes

Bonjour Sylvanu,

Un grand merci, tout fonctionne très bien !!
J'ai effectivement opté pour me masquage.
Je partais pour grouper car en manuel c'est ce qui me faisait perdre moins de temps.
J'ai ajouté un complément au début pour démasquer toutes les colonnes :
Columns.EntireColumn.Hidden = False

Merci beaucoup, un grand gain de temps au quotidien.

Bonne journée.
 
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
26
Affichages
1 K
Réponses
3
Affichages
517
Retour