Automiser une ligne masquer en fonction d'une valeur

Fermé
Florian85110 Messages postés 7 Date d'inscription lundi 30 mars 2015 Statut Membre Dernière intervention 8 avril 2015 - 7 avril 2015 à 10:28
Florian85110 Messages postés 7 Date d'inscription lundi 30 mars 2015 Statut Membre Dernière intervention 8 avril 2015 - 8 avril 2015 à 17:59
Bonjour,

J'ai des tableaux dans les feuilles "prime unique" et "périodique périodique", quand je saisie les données dans ces tableaux, elles sont automatiquement reportés dans les tableaux des feuilles "impression PU" et "impression PP". Le problème c'est que dans ces dernières feuilles j'ai des lignes qui n'ont pas besoin d'être affiché.

J'ai donc crée un macro, pour afficher et masquer ces lignes (ctrl A + ctrl M)

Mes collègues oublient souvent de faire cette manipulation et en plus je ne peux pas verrouiller les cellules ou il y a des formules.

Je voulais donc savoir, s'il est possible d'automatiser une ligne, s'il y a la valeur 0.

N'hésitez pas à me poser des questions si vous trouvez que je ne suis pas clair.

En pièce jointe, vous trouverez mon fichier excel.

Merci d'avance pour vos réponses

https://www.cjoint.com/c/EDhkOztua14



A voir également:

1 réponse

redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
7 avril 2015 à 15:58
Salam Florian85110.

Il suffit de déplacer le code de la procédure
Masquer_lig()
du Module1 vers l'évènement
Worksheet_Activate()
des deux feuilles "impression PU" et "impression PP".

Ainsi, après la saisie sur la feuille "liste des supports", l'utilisateur active l'une des feuilles "impression PU" ou "impression PP" ce qui déclenche automatiquement l'évènement Worksheet_Activate() qui contient le code qui masque les lignes contenant 0 en colonne C.

J'espère avoir répondu à ta préoccupation. :)
--
"Repousse le mal par le bien; et voilà que celui avec qui tu avais une animosité devient tel un ami chaleureux" (Coran)
"Celui qui ne sait pas partager est infirme de ses émotions". (Marc Levy)
0
Florian85110 Messages postés 7 Date d'inscription lundi 30 mars 2015 Statut Membre Dernière intervention 8 avril 2015
7 avril 2015 à 16:37
désolé mais, je n'ai pas compris ton mécanisme, cela fait 30 minutes que je me casse la tête. Peux tu m'en dire plus STP?
0
redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
Modifié par redaiwa le 8/04/2015 à 16:22
Salam Florian.

Désolé si je n'ai pas été très clair.
Procède comme suit :
1- Sélectionne le code ci-après et fais CTRL+C
Private Sub Worksheet_Activate()
Range("C1:C80").Select
For Each cellule In Selection
If cellule.Value = "0" Then cellule.EntireRow.Hidden = True
Next cellule
End Sub
2- Va sur la feuille "impression PU" et fais CTRL+A pour afficher les lignes masquées
3- Fais la même chose sur la feuille "impression PP"
4- Clique-droit sur l'onglet "impression PU" puis clique sur "Visualiser le code"
5- Fais CTRL+V pour copier le code précédent
6- Fais ALT+F11 pour retourner au fichier excel
7- Clique-droit sur l'onglet "impression PP" puis clique sur "Visualiser le code"
8- Fais CTRL+V pour copier le même code précédent
9- Fais ALT+F11 pour retourner au fichier excel
10- Va sur la feuille "liste des supports" et vérifier la saisie
11- Va sur la feuille "impression PU" ou "impression PP" et vérifie si les lignes contenant "0" en colonne C ont bien été masquées.

J'espère avoir été plus clair, sinon n'hésite pas.

Bonne fin de journée.
0
Florian85110 Messages postés 7 Date d'inscription lundi 30 mars 2015 Statut Membre Dernière intervention 8 avril 2015
8 avril 2015 à 17:59
C'est une bonne manipulation, sauf que à chaque que j'ajoute une nouvelle ligne, elle ne s'affiche plus, il faut refaire ctrl A.

Merci quand même :)
0