Masquer les cellules en couleur

Pier-luc

XLDnaute Junior
Salut, je ne suis pas capable de crée un ce macro... Quelqu’un peut m'aide


Je veux un bouton qui lorsque j'appui déçu masque toutes les cellules qui ne sont pas surligner en couleur dans la colonne «D»

Un autre bouton qui lorsque j’appui dessus, agrandie les cellules non masquer en caractère 16 et ajuste les largeurs des cellules pour voir tout le texte et imprime les cellules non masqué. J’aimerai aussi que l’lorsque j’appuie sur ce bouton, qu’Il reset et me ramène au modèle original avec les cellules en couleur au caractère 11.


Merci d’avance
 

Pièces jointes

  • test.xlsx
    9.9 KB · Affichages: 33

job75

XLDnaute Barbatruc
Bonjour Pier-luc, chris,

Un seul bouton dans le fichier joint avec cette macro :
Code:
Sub Masquer()
Dim a As Range, c As Range
With Feuil1.DrawingObjects("Masquer 1")
    .Parent.Visible = xlSheetVisible 'au cas où...
    If .Text = "Masquer" Then
        .Text = "Afficher"
        Application.ScreenUpdating = False
        .Parent.UsedRange.Rows.Hidden = True
        Set a = .Parent.UsedRange.Cells(1, 4)
        For Each c In .Parent.UsedRange.Columns(4).Cells
            If c.Interior.ColorIndex <> xlNone Then Set a = Union(a, c)
        Next
        a.Rows.Hidden = False
        .Parent.Cells.Font.Size = 16
        Application.Goto .Parent.[A1], True 'cadrage
        .Parent.Columns.AutoFit 'ajustement largeur
        Application.ScreenUpdating = True
        If MsgBox("Imprimer la feuille ?", 4) = 6 Then .Parent.PrintOut
    Else
        .Text = "Masquer"
        .Parent.Rows.Hidden = False
        .Parent.Cells.Font.Size = 11
        .Parent.Columns.AutoFit 'ajustement largeur
    End If
End With
End Sub
Il a fallu faire un gros effort car les fautes d'orthographe multiples faisaient mal aux yeux.

A+
 

Pièces jointes

  • test(1).xlsm
    25.6 KB · Affichages: 40

chris

XLDnaute Barbatruc
Bonjour

Job75 est toujours aussi stoïque ;-)

A noter que cette demande a été copiée collée à la virgule près sur d'autres forums... ce qui réduit mon propre stoïcisme qui était déjà plus faible que celui de job75

Bonne journée
 

Pier-luc

XLDnaute Junior
Je ne voit pas où est le problème d'écrire la même question sur deux forum différents ? J'augmente ainsi mes chances d'obtenir une réponse ? voit tu sur l'autre forum je n'est pas obtenus de réponse ! «Je veux» était utilisé pour exprimer le résultat final que je désirais obtenir et non pas une liste comme tu dit.... , je cherchai une piste de solution, car j'était bloquer et non pas une solution direct. Pour les fautes d'orthographe je ferais attention.

Merci
 

Pier-luc

XLDnaute Junior
Job75, sa fonctionne bien, sauf que s'est le contraire de ce que j'avais besoin, désolé je me suis mal exprimé...ces mon erreur en fait lorsque j'appui sur le bouton c'est les cellules en couleurs qui doivent se masquer. Aussi, que dois-je modifier dans le macro pour modifier le «range», car dans il y aura du texte plus bas et je ne veut pas que le macro l'affecte, ex: de D1 à D1500.

Merci beaucoup.
 

chris

XLDnaute Barbatruc
Re
Je ne voit pas où est le problème d'écrire la même question sur deux forum différents ?
Je reprendrais texto les termes de notre ami Staple :
La coutume (enfin en tout cas celle qui était en cours au XXième siècle) c'est de signaler qu'on a posté sa question sur plusieurs forums (en mettant le cas échéant un URL)
https://fr.wikipedia.org/wiki/Multipostage
 
Dernière édition:

job75

XLDnaute Barbatruc
Re,
Job75, sa fonctionne bien, sauf que s'est le contraire de ce que j'avais besoin, désolé je me suis mal exprimé...
Si vous faites un tout petit effort pour comprendre vous verrez qu'il suffit de remplacer dans la macro :
Code:
If c.Interior.ColorIndex <> xlNone Then
par :
Code:
If c.Interior.ColorIndex = xlNone Then
Fichier (2).

A+
 

Pièces jointes

  • test(2).xlsm
    25.6 KB · Affichages: 36

Pier-luc

XLDnaute Junior
Oh d'accord je ne crois pas que s'était aussi simple. Est-ce que tu peu m'indiquer où je peu changer le «Range» pour que le macro ne soit pas actif sur la ligne de D au complète .. ex: D1 à D1500... Car je ne voit pas de section où je peu le changer .

J'ai essayer, mais sans succès...
Dim a As Range("D6,D1500"), c As Range

Désolé je suis encore débutant en macro. J'y arrive quand ses simple avec l'enregistreur de macro
 

Pier-luc

XLDnaute Junior
En fait non , j'ai un petit soucis, lorsque j'imprime j'essaye qu'il définisse la zone d'impression de b3 à J3 pour la colonne jusqu'à la ligne ayant la dernière valeur, qui dans ce cas lorsque j'appui sur masquer est 1865, mais qui va changer lorsque je vais ajouté des données, y a t'il un moyen que la largeur des colonne s'ajuste au plus petit possible pour que sa entre sur une seule page.

Merci
 

Pièces jointes

  • Copie de test(2).xlsm
    127 KB · Affichages: 23

Pier-luc

XLDnaute Junior
Oui, sa fonctionne si je définie la zone d'impression, par contre aussitôt j'ajoute des données il tombe hors de la zone d'impression et n'imprime pas, j'ai également mis dans les paramètre de l'imprimante que la feuille imprime 3 fois lorsque je dit «oui» à imprimer la feuille, mais il ne l'imprime qu'une fois.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le problème

@Pier-luc
Je ne voit pas où est le problème d'écrire la même question sur deux forum différents ?
Merci
Pour rebondir sur chris et éclairer ta lanterne (et non l'inverse ;) )
Voir ci
https://fr.wikipedia.org/wiki/Multipostage

Il ne s'agit pas à proprement parler d'un problème mais plutôt d'urbanité
C'est apprécié qu'une question multipostée soit signalée par un lien
Cela permets
1) ne pas perdre de temps à réfléchir à une question potentiellement résolue ailleurs
2) de ne pas proposer une solution quasi-identique (sur N forums)
3) d'offrir aux lecteurs la possibilité de découvrir N forums dédiés à Excel

EDITION:
@chris
Désolé, problème de lunette, je viens juste de voir le message#7 ;)
 
Dernière édition:

Pier-luc

XLDnaute Junior
Il ne s'agit pas à proprement parler d'un problème mais plutôt d'urbanité
C'est apprécié qu'une question multipostée soit signalée par un lien
Cela permets
1) ne pas perdre de temps à réfléchir à une question potentiellement résolue ailleurs
2) de ne pas proposer un solution quasi-identique (sur N forums)
3) d'offrir aux lecteurs la possibilité de découvrir N forums dédiés à Excel

Oh je ne savais pas... je ferai attention à l'avenir

Merci
 

Statistiques des forums

Discussions
312 169
Messages
2 085 909
Membres
103 032
dernier inscrit
etima