Affichage uniquement des colonnes non vides

Fermé
Voileux83 Messages postés 2 Date d'inscription mardi 30 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018 - 30 oct. 2018 à 08:27
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 31 oct. 2018 à 11:56
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 lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
30 oct. 2018 à 10:40
Bonjour,

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

A+
0
Voileux83 Messages postés 2 Date d'inscription mardi 30 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018
31 oct. 2018 à 07:01
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
31 oct. 2018 à 11:56
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