Signaler

Macro pour masquer les lignes non remplies sur une autre page

Posez votre question AudricG 4Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention - Dernière réponse le 28 sept. 2017 à 19:02 par yg_be
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
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
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 3525Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 10 octobre 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)
Répondre
AudricG 4Messages postés dimanche 10 septembre 2017Date d'inscription 13 septembre 2017 Dernière intervention - 10 sept. 2017 à 18:06
Autant pour moi!
Merci quand même
Répondre
Donnez votre avis
Utile
+0
plus moins
Désolé d'insister, mais personne n'a une idée?
Donnez votre avis
Utile
+0
plus moins
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 3525Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 10 octobre 2017 Dernière intervention - 28 sept. 2017 à 19:02
ces propositions ont étés faites après le post #6, non?
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !