Macro pour masquer les lignes non remplies sur une autre page

AudricG 4 Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention - 10 sept. 2017 à 17:13 - Dernière réponse : yg_be 4116 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention
- 28 sept. 2017 à 19:02
Bonjour,

malgré mes longues recherches, je ne parviens pas à régler mon problème.

Afin de créer les services de travail de chaque journée suivante pour mes collègues, j'utilise un tableau comprenant une base de donné synthétisant toutes les informations en première page (Nom, nombre de présent, date du lendemain, pourcentages de présents...). Et un certains nombre d'autre page sous forme de tableau, reprenant automatiquement les données de la première page (service général, composition chaque équipe...).

Je me heurte à un problème que je n'arrive pas a résoudre:

Je souhaiterai que les lignes du récapitulatif général situé en page 2 n'apparaissent que lorsqu'elle sont "remplies" par les formules. C'est à dire que si rien n’apparaît dans la case de l'équipe, toute la ligne soit masquée automatiquement.

J'ai tenté de créer une macro automatisée pour cela, mais je n'y parviens pas.

Sachant que les données de la page deux (formules), sont remplies grâce à la saisie sur menu déroulant en page 1 (base de donnée).

Concrètement le but est de masquer les lignes entières de 4 à 48sur le tableau deux, si la cellule D de chaque ligne n'est pas remplie par les données du tableau 1.

En désespoir de cause je me tourne vers vous.
J'espère avoir été clair, même si j'en doute.

Je vous joint une copie de la macro. Cela sera surement plus facile a comprendre.

http://www.cjoint.com/c/GIkpBdZ0Ida
Afficher la suite 
4Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention

7 réponses

Répondre au sujet
yg_be 4116 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 10 sept. 2017 à 17:42
0
Utile
j'imagine que tu utilises Excel. c'est bien cela?
si oui, je suggère ceci:
Option Explicit

Sub audricg()
Dim sh As Worksheet
Dim ln As Long
Set sh = Sheets("deux")
For ln = 48 To 4 Step -1
    If sh.Cells(ln, 4).Value = "" Then
        sh.Rows(ln).Hidden = True
    Else
        sh.Rows(ln).Hidden = False
    End If
Next ln
End Sub
Commenter la réponse de yg_be
AudricG 4 Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention - Modifié par AudricG le 10/09/2017 à 18:04
0
Utile
2
Pardon, je n'ai pas précisé mais j'utilise une LibreOffice.

Je m'excuse encore car mes connaissances en basic remontent au collège et je bloque sur une partie de ta macro:

Sub Miseenpage()
Dim sh As Worksheet
Dim ln As Long
Set sh = Sheets("Service affiche")
For ln = 48 To 4 Step -1
    If sh.Cells(ln, 4).Value = "" Then
        sh.Rows(ln).Hidden = True
    Else
        sh.Rows(ln).Hidden = False
    End If
Next ln
End Sub


Libreoffice m'indique que "worksheet" n'est pas une syntaxe valide. Je suppose qu'il s'agit de la page ou se trouve mes données? Malheureusement, celle ci nommée "Données" contient un "é" dont la macro ne veut pas entendre parler.

Ou je me m'égare complètement?
yg_be 4116 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 10 sept. 2017 à 18:05
j'ai proposé un code pour Excel, je ne peux pas t'aider en LibreOffice.
(c'est moi qui m'égarais)
AudricG 4 Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention > yg_be 4116 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 10 sept. 2017 à 18:06
Autant pour moi!
Merci quand même
Commenter la réponse de AudricG
AudricG 4 Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention - 13 sept. 2017 à 13:02
0
Utile
Désolé d'insister, mais personne n'a une idée?
Commenter la réponse de AudricG
OOoForum 3283 Messages postés jeudi 20 mars 2008Date d'inscription 11 décembre 2017 Dernière intervention - 28 sept. 2017 à 18:46
0
Utile
1
Au lieu d'insister, commencez par donner suite aux propositions qui vous sont faites : https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=55614


.
yg_be 4116 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 28 sept. 2017 à 19:02
ces propositions ont étés faites après le post #6, non?
Commenter la réponse de OOoForum