Affichage uniquement des colonnes non vides

Voileux83 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis débutant en VBA et je souhaite que via un tri d'une action dans la cellule A1 "Qui fait Quoi" ne s'affiche que les colonnes suivantes non vides.

Je remercie par avance toutes les personnes qui pourront m'apporter une aide


2 réponses

Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonjour,

Au lieu de VBA, que penses-tu d'un TCD (tableau croisé dynamique) ?

A+
0
Voileux83 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Le fichier sera utilisé par plus de 400 personnes et certaines ne maîtrisent très peu Excel. Je voulais passer par VBA pour le permettre via un clic sur un bouton d'avoir la réponse à leur question.
Je te remercie pour ta proposition et j'ai effectivement fait un TCD mais ça ne convient pas au personnes qui n'utilisent pas Excel dans leur quotidien.

Merci pour ta réponse et pour l'intérêt que tu as porté à ma problématique
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

en vba se mettre sur la feuille concernée et faire Alt F11 pour accèder à l'éditeur coller ce code:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim col As Integer
Dim derniereLigne As Integer
derniereLigne = Range("L" & Rows.Count).End(xlUp).Row 'a adapter la colonne
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
If Target.Value = "Qui fait Quoi" Then
For col = 2 To 12 'boucle sur les colonnes B à L a adapter
        'condition : si le nombre de valeurs des lignes 2 à dernière ligne de la colonne L est égal à zéro
        If Application.WorksheetFunction.CountA(Range(Cells(2, col), Cells(derniereLigne, col))) = 0 Then
            Columns(col).Hidden = True = Columns(col).Hidden = False ' 1er clic masque la colonne et second clic l'affiche
             End If 'fin de la condition
    Next col 'prochaine colonne de la boucle
    End If
    End If
End Sub


Voilà
0