Afficher masquer lignes avec un seul bouton
Bonjour,
Etant vraiment novice en Excel, je cherche de l’aide pour optimiser un classeur EXCEL 2007 pour mon travail. Ce qui permettra de faciliter la vie à toute mon équipe.
Pourriez-vous m'aider?
Voici ce que je souhaite faire : (Fichier modèle en copie.)
1) je souhaiterai faire un seul bouton ‘’Masquer Afficher’’ qui lorsque je clique sur ‘’Masquer’’ les lignes contenant les valeurs ‘’Levé’’ ou ‘’vide’’ de la ligne G8 à G13 ou les cellules ’vide’’ de la ligne C8 à C13 ne s’affiche pas, puis lorsque je clique sur ‘’Afficher’’ les 6 lignes s’affichent.
2) Les valeurs de la colonne (A7à G7, A14 à G14, A21 à G21, etc. A l’infinie) seront toujours visibles mais changent 4 à 5 fois par an. Donc pouvoir faire un copier coller de ces nouvelles valeurs SANS LES COLLERS DANS LES 6 LIGNES DE VALEUR ‘’Levé’’ ‘’0’’ ou ‘’vide’’.
3) Cette feuille sera protégée par mot de passe. Dans le but de ne pas pouvoir supprimer les lignes de valeurs ‘’0’’. Est-ce possible.
4) Avoir le choix d’imprimer cette feuille avec ou sans les 6 lignes de valeur ‘’Levé’’ ‘’0’’ ou ‘’vide’’
Merci d'avance.
Bonjour Francis7x5
Voici ton fichier avec un petit code pour afficher / masquer les lignes
le reste je n'ai pas bien compris
A+
Oui, merci.
Je souhaiterais aussi que les lignes A15 à A20 puis A22 à A27, puis A29 Aa37, etc. A l’infini puissent être masqué ou affiché. Il y a toujours 6 lignes concernées.
1) lorsque je clique sur ‘’Masquer’’ les lignes contenant les valeurs ‘’Levé’’ ou ‘’vide’’ de la ligne G8 à G13 ou les cellules ’vide’’ de la ligne C8 à C13 ne s’affiche pas, puis lorsque je clique sur ‘’Afficher’’ les 6 lignes s’affichent.
Ce n’est pas toujours évident d’expliquer ce que l’on a dans la tête…..
Je penses m'être mieux éxpliqué..
Désolé
Autant pour moi.
C'est super, c'est exactement ce que je voulais.
Dans le code j'ai modifié
Sub AfficherMasquer()
Dim Lig As Long
For Lig = 8 To 13 If Range("G" & Lig) = "Levé" Or Range("G" & Lig) = "" _
And Range("C" & Lig) = "" Then
Rows(Lig).Hidden = Not Rows(Lig).Hidden
End If
Next Lig
End Sub
par
Sub AfficherMasquer()
Dim Lig As Long
For Lig = 8 To 300 If Range("G" & Lig) = "Levé" Or Range("G" & Lig) = "" _
And Range("C" & Lig) = "" Then
Rows(Lig).Hidden = Not Rows(Lig).Hidden
End If
Next Lig
End Sub
Encore une fois un grand merci, aussi de m'avoir répondu rapidement.
Le bouton est super....
Francis
Merci à toi
Francis
J’ai pu résoudre un problème grâce à brunoM45 (Merci).
Je souhaite résoudre le 2° problème. Qui m’a l’air compliqué…..du moins pour moi.
Mon fichier en copie..
A la base, entre les lignes (A7 et A14) (A14 et A21) (A21 et A28)(A28 et A35) (A35 et A42) (A42 et A49) (A49 et A55) etc.…
il y aura toujours 6 lignes masquées. Ces 6 lignes ne doivent jamais être supprimées.
Quand la personne récupère ce fichier, ce fichier est vide. Elle doit faire un copier coller de données qui lui concerne et cela depuis un autre classeur. (Ce ne sont jamais les mêmes données.) IL y a souvent 300 lignes.
Je voulais donc savoir si on pouvait faire un coller de ces données dans ce fichier vide ou en écrasant les anciennes, sans les coller dans les lignes masquées.
Un grand merci d'avance.
Francis
J’ai pu résoudre un problème grâce à brunoM45 (Merci).
Je souhaite résoudre le 2° problème. Qui m’a l’air compliqué…..du moins pour moi.
Mon fichier en copie..
A la base, entre les lignes (A7 et A14) (A14 et A21) (A21 et A28)(A28 et A35) (A35 et A42) (A42 et A49) (A49 et A55) etc.…
il y aura toujours 6 lignes masquées. Ces 6 lignes ne doivent jamais être supprimées.
Quand la personne récupère ce fichier, ce fichier est vide. Elle doit faire un copier coller de données qui lui concerne et cela depuis un autre classeur. (Ce ne sont jamais les mêmes données.) IL y a souvent 300 lignes.
Je voulais donc savoir si on pouvait faire un coller de ces données dans ce fichier vide ou en écrasant les anciennes, sans les coller dans les lignes masquées.
Un grand merci d'avance.
Francis