XL 2016 Créer une feuille excel qui s'auto-rempli en fonction de données

Robinho8991

XLDnaute Nouveau
Bonjour,

Voila la situation : je suis en train de créer un fichier excel qui récupère des données de plusieurs postes et présente des courbes d'évolution en temps réel.
Le but est que sur une feuille excel en particulier la personne sur le poste indique son nom et la référence qu'elle est en train de faire. En fonction de cette référence, il faudrait que sur le reste de la feuille du contenu particulier apparaisse (composants, vérifications etc) ; contenu qui serait déjà rempli sur une autre feuille.

Ma question est la suivante : est-il possible sur une feuille excel de demander à l'utilisateur de remplir 1 ou 2 cellules et qu'en fonction des données remplies le reste de la feuille apparaisse ensuite ? Si oui comment je pourrai faire cela ?

Je vous remercie d'avance pour vos réponse et je peux bien entendu donner plus de détails si ce n'est pas clair.
 
Solution
re
oui sur cette base
mais avec cette même base tu peut moduler

exemple C4 c'est la cellule ou l'utilisateur tape son nom et ...
si c'est "toto" c'est les lignes 7 à 20 visible si c'est "titi" c'est les lignes 21 à 35

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim critere As Boolean
    
    If Not Intersect(Target, [C4:C5]) Is Nothing Then
       Rows("7:200").Hidden = True
         'en fonction du nom se sera une plage ou une autre qui sera visible
        Select Case [c4].Value
        Case "toto": Rows("7:20").Hidden = False
        Case "titi": Rows("21:35").Hidden = False
        End Select


    End If
End Sub

patricktoulon

XLDnaute Barbatruc
bonjour
tout simplement dans l’événement change de la feuille

exemple dans le module de la feuille concernée
si c5 ou c4 sont vides alors on masque les ligne 7 à 20 sinon on les démasques
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim critere As Boolean
   If Not Intersect(Target, [C4:C5]) Is Nothing Then
        critere = IsEmpty([C5]) Or IsEmpty([C4])
        Rows("7:20").Hidden = critere
    End If
End Sub
 

Robinho8991

XLDnaute Nouveau
Merci pour la réponse mais le problème est que le contenu "caché" et à afficher sera différent en fonction de la référence que la personne rempli. Si je comprend bien avec la solution que vous proposez je ne pourrai cacher qu'un seul contenu.
 

patricktoulon

XLDnaute Barbatruc
re
oui sur cette base
mais avec cette même base tu peut moduler

exemple C4 c'est la cellule ou l'utilisateur tape son nom et ...
si c'est "toto" c'est les lignes 7 à 20 visible si c'est "titi" c'est les lignes 21 à 35

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim critere As Boolean
    
    If Not Intersect(Target, [C4:C5]) Is Nothing Then
       Rows("7:200").Hidden = True
         'en fonction du nom se sera une plage ou une autre qui sera visible
        Select Case [c4].Value
        Case "toto": Rows("7:20").Hidden = False
        Case "titi": Rows("21:35").Hidden = False
        End Select


    End If
End Sub
 

Robinho8991

XLDnaute Nouveau
En effet ça pourrait marcher mais comme il y a un certain nombre de références il y a pas mal de contenus différents à afficher.
J'aimerai que ça reste "lisible" pour la personne et qu'elle n'ait pas besoin de descendre la page pour trouver les tests (il pourrait y avoir un risque qu'elle loupe du contenu).
J'essaie de garder le même design de la feuille même si le contenu affiché est différent.
Merci de prendre le temps de répondre en tout cas
 

patricktoulon

XLDnaute Barbatruc
re
ben non justement c'est le but
si c'est titi la lisgne 21 sera visible juste en dessous la ligne 6 etc.....avec tout les nom
regarde
demo3.gif


et a la base on a ca
Capture.JPG
 

patricktoulon

XLDnaute Barbatruc
re
le principe est simple
tu masque tout (dans mon exemple je masque 7:200) et tu affiche seulement par rapport a toto ou titi
et tu gere ca dans les "case" dans le code

conclusion ce qui doit être visible le sera juste en dessous de la ligne 6 dans mon exemple
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 867
Membres
103 007
dernier inscrit
salma_hayek