Macro afficher ligne si la précédente est remplie

Fermé
axoulé - 28 avril 2017 à 12:46
 axoulé - 13 mai 2017 à 15:01
Bonjour,

Je suis sur Excel 2007, j'ai un tableau a remplir en (D115:J126) avec différentes valeurs qui seront toutes réutilisés dans des formules. J'aimerai pouvoir cacher par défaut les lignes 116 à 126 tant que la ligne 115 (ou la cellule J115) n'est pas remplie en entier. Une fois que cette ligne serait remplie, afficher la ligne 116 et toujours ne pas afficher les lignes suivantes. faire la méme chose ensuite sur tout le tableau.Je suppose que la solution passe par une macro VBA mais je m'y connais que trop peu.
J’espère être assez clair dans mon problème

Merci
A voir également:

2 réponses

f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
Modifié le 28 avril 2017 à 15:32
Bonjour,

Pour ligne 115 a 126: cellules Dx:Jx remplies pour affichage ligne suivante?
Les lignes 116 a 126 sont masquees comment au depart ?

en attendant, code (fait au plus simple) a mettre dans VBA de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub   'plus d'une cellule selectionnee
    If Not Application.Intersect(Target, Range("D115:J126")) Is Nothing Then 'saisie dans plage
        lig = Target.Row    'ligne
        If WorksheetFunction.CountBlank(Range("D" & lig & ":J" & lig)) = 0 Then 'toutes les cellules plage non vides
            Rows(lig + 1).Hidden = False    'affich ligne suivante
        End If
    End If
End Sub
0
Bonjour f849009,

L'ensemble des cellules n'as pas forcement à etre rempli, on peu prendre en compte uniquement la colonne J dans mon cas car les cellules sont remplies les unes après les autres et normalement il n'y as pas de trous. Donc si c'est plus facile à coder si une seule colonne J, ça me conviendrait aussi.
Les cellules sont pour l'instant encore apparentes, je pense les masquer par le menu du clic droit sur le numéro de ligne à gauche.
J'ai rentré ton code dans VBA, rien n'as bougé..
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
28 avril 2017 à 15:50
Re,
le postula de depart est que toutes les cellules sont vides et lignes 116 a 126 maquees
le code ne marche que si vous modifiez une cellule
0
axoulé
28 avril 2017 à 15:59
Je viens de refaire le test en effaçant mon tableau, en masquant les lignes 116 à 126. mais quand je remplis à nouveau la première ligne 115, la ligne 116 n'apparait pas comme je souhaiterai. Ma colonne D se remplit via une liste dans un validation de données, cela bloque t'il la macro ?
En tout cas merci de ton aide
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708 > axoulé
28 avril 2017 à 16:18
Re,

Avec votre fichier ce serait plus simple, avec une petite explication
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
axoulé
13 mai 2017 à 15:01
Bonjour,
je vous joint un lien cjoint qui pourra vous expliquer ce que je souhaite réaliser.
Désolé pour la lenteur de ma réponse, mais boulot oblige :(

http://www.cjoint.com/c/GEnm56EY8of

Merci aux personnes qui s'attardent sur mon cas.
0