XL 2010 Débutante en macro

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

Aleph8

XLDnaute Nouveau
Bonjour à tous,
Je suis débutante en macro excel est je cherche sur le forum depuis la semaine dernière et je sèche...
Je cherche à créer un bouton sur une base de données excel.
J'ai créé un premier bouton qui me permet de masquer/afficher par Formation
J'essaie de créer un second bouton qui me permette de masquer/afficher les agents dont la ligne est colorée (à la main) et ça ne fonctionne pas....

Le top serait au final que les deux boutons n'en soit plus qu'un seul.
Pourriez-vous m'aider s'il vous plaît?
 

Pièces jointes

Bonjour le fil, Aleph8

Aleph8
Pour le top, je passe la main aux petits camarades (pour cause de version Excel)

Pour le masquage/démasquage, une macro all-in-one
VB:
Sub Masque_Demasque()
Columns("I:J").Hidden = Not Columns("I:J").Hidden
End Sub
1ere exécution, on masque
2nd exécution, on démasque.
 
>Re

Je ne peux pas faire plus car ma version d'Excel (pour les jours à venir) ne peut pas filtrer sur les couleurs.

Donc il faudra attendre qu'à autre membre du forum passe dans ton fil pour traiter ce point-là.

EDITION: Bonjour ma pomme 😉
 
Dernière édition:
Bonjour @Aleph8, bienvenue sur XLD 🙂 , bonjour Staple1600 😉,

Un essai "à ma sauce" dans le fichier joint. Le code est dans le module de code de la feuille "Feuil1". Modifiez le contenu de la cellule B1 pour filtrer.
J'avais cru comprendre qu'on filtrait sur le secteur.
Si c'est sur la couleur 😱, mes croyances concernant Excel et les bases de données m'interdisent de les manipuler et je passe la main.
 

Pièces jointes

Dernière édition:
Bonjour Aleph8, JM, mapomme,

Je me cantonne à ce qui est demandé, voyez le fichier joint et cette macro :
VB:
Sub Masquer_Afficher()
With ActiveSheet
    If .DrawingObjects(1).Text Like "Masquer*" Then
        .DrawingObjects(1).Text = "Afficher Formation A et lignes non colorées"
        .Columns("I:J").Hidden = True
        .[A4].CurrentRegion.AutoFilter 1, vbYellow, xlFilterCellColor
    Else
        .DrawingObjects(1).Text = "Masquer Formation A et lignes non colorées"
        .Columns("I:J").Hidden = False
        If .FilterMode Then .ShowAllData
    End If
End With
End Sub
A+
 

Pièces jointes

Bon, fichier (2) avec cette macro :
VB:
Sub Masquer_Afficher()
With ActiveSheet
    If .DrawingObjects(1).Text Like "Afficher*" Then
        .DrawingObjects(1).Text = "Masquer Formation A et afficher les lignes non colorées"
        .Columns("I:J").Hidden = False
        .[A4].CurrentRegion.Offset(1).AutoFilter 1, vbYellow, xlFilterCellColor
    Else
        .DrawingObjects(1).Text = "Afficher Formation A et masquer les lignes non colorées"
        .Columns("I:J").Hidden = True
        If .FilterMode Then .ShowAllData
    End If
End With
End Sub
Un peu laborieux le texte du bouton non ?

Notez le .Offset(1), je l'ai ajouté par sécurité, au cas où l'on enlève le filtre.
 

Pièces jointes

Ceux qui comme Staple1600 ne peuvent utiliser le filtre couleur pourront utiliser le fichier .xls joint et ces codes :
VB:
Function Couleur(c As Range) As Byte
If c.Interior.ColorIndex <> xlNone Then Couleur = 1
End Function

Sub Masquer_Afficher()
With ActiveSheet
    If .DrawingObjects(1).Text Like "Afficher*" Then
        .DrawingObjects(1).Text = "Masquer Formation A et afficher les lignes non colorées"
        .Columns("J:K").Hidden = False
        .[A:A].ClearContents 'RAZ
        With .[A4].CurrentRegion.Offset(1)
            .Columns(1) = "=Couleur(RC[1])"
            .AutoFilter 1, 1 'filtre les 1 en colonne auxiliaire A
        End With
    Else
        .DrawingObjects(1).Text = "Afficher Formation A et masquer les lignes non colorées"
        .Columns("J:K").Hidden = True
        If .FilterMode Then .ShowAllData
    End If
End With
End Sub
La fonction VBA Couleur est utilisée dans la colonne auxiliaire A (à masquer).
 

Pièces jointes

Bonjour à tous,
C'est un super fichier merci Job75
Mais je suis vraiment gourde, je me suis mal exprimée. Ce que je veux c'est afficher les lignes colorées avec la formation A uniquement en appuyant sur le bouton.
J'aimerai aussi comprendre les lignes de code que vous créez...
Merci encore et désolée de toutes ces demandes
 
- 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
3
Affichages
154
Réponses
18
Affichages
786
Retour