Masquer automatiquement des colonnes et des lignes suivant une valeur
Résolu
jojodu42210
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
jojodu42210 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
jojodu42210 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Masquer automatiquement des colonnes et des lignes suivant une valeur
- Suivi des modifications word - Guide
- Comment faire des colonnes sur word - Guide
- Partager des photos en ligne - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Déplacer une colonne excel - Guide
6 réponses
Bonjour,
Il va falloir une macro pour faire ce que tu veux. Est-ce que tu connais VBA ? Pour joindre le fichier, mets-le sur https://mon-partage.fr/
et poste le lien obtenu.
Cordialement.
Daniel
Il va falloir une macro pour faire ce que tu veux. Est-ce que tu connais VBA ? Pour joindre le fichier, mets-le sur https://mon-partage.fr/
et poste le lien obtenu.
Cordialement.
Daniel
Bonjour Daniel,
Je me doutais bien qu'il fallait faire une macro et avec du VBA. Mais je ne connais ni le principe d'une macro ni le codage VBA.
Je joins mon fichier à cette adresse https://mon-partage.fr/f/Kh2fVMhI/
Merci de votre aide.
Cordialement,
Jordan
Je me doutais bien qu'il fallait faire une macro et avec du VBA. Mais je ne connais ni le principe d'une macro ni le codage VBA.
Je joins mon fichier à cette adresse https://mon-partage.fr/f/Kh2fVMhI/
Merci de votre aide.
Cordialement,
Jordan
"Pour les colonnes du même onglet (I à Z inclues) , je vais avoir beaucoup de cas (24):
Ils seront du style, si D2 est vide, alors colonnes de I à Z masquées (par défaut, colonnes masquées)
Pour chaque cas, il y aura SI D2 OU H3 = J par exemple, alors on affiche uniquement les colonnes K et L. "
Est-ce que tu peux détailler tous les cas ?
Daniel
Ils seront du style, si D2 est vide, alors colonnes de I à Z masquées (par défaut, colonnes masquées)
Pour chaque cas, il y aura SI D2 OU H3 = J par exemple, alors on affiche uniquement les colonnes K et L. "
Est-ce que tu peux détailler tous les cas ?
Daniel
Bonsoir,
Voici ton fichier
https://www.cjoint.com/c/HLquZDHVq6N
Lorsque tu modifies D1 dans Saisie de données les colonnes s'actualisent automatiquement.
Enregistre le fichier avant de l'ouvrir
Bonne soirée
Jc
Voici ton fichier
https://www.cjoint.com/c/HLquZDHVq6N
Lorsque tu modifies D1 dans Saisie de données les colonnes s'actualisent automatiquement.
Enregistre le fichier avant de l'ouvrir
Bonne soirée
Jc
Pourtant le fichier semble correctement disponible via le lien. Lorsque tu cliques sur « accédez au fichier » dans la boîte de dialogue qui s’ouvre, choisi « enregistrer le fichier » et non pas ouvrir. Ensuite rend toi dans le dossier de destination et contrôle que l’exten Du fichier est bien du type « .xlsm » si ce n’est pas le cas modifie la manuellement en renommant le fichier.
A l’ouvserrure du fichier tu devrais avoir un avertissement de sécurité car le fichier contient des macros clique sur « activer »
Jc
A l’ouvserrure du fichier tu devrais avoir un avertissement de sécurité car le fichier contient des macros clique sur « activer »
Jc
Bonsoir,
Oui, effectivement vous aviez raison. Désolé pour ce petit rpoblème.
Je viens de vérifier mon fichier pour savoir si je ne vous avait pas dit d'erreur.
Pour la valeur D2 = R, je me suis trompé, c'est la colonne P qu'il faut affiché (au lieu de la K),
Pour la valeur D2 = M, j'ai oublié de dire que la colonne AE devait être affichée.
Tout est ok pour les 20 autres conditions.
- Pour le cas de la valeur D2 = CTS, la ligne 3 doit apparaître et être masquée pour toutes les autres valeurs de D2.
- En cas de valeur dans la case H3 (uniquement si D2=CTS), on affiche les colonnes demandées pour la valeur H3.
Pourriez-vous m'expliquer où je peux retrouver ces informations dans le fichier et éventuellement m'expliquer pour y modifier les colonnes si cela ne vous prend pas trop de temps ?
Merci beaucoup,
Jordan
Oui, effectivement vous aviez raison. Désolé pour ce petit rpoblème.
Je viens de vérifier mon fichier pour savoir si je ne vous avait pas dit d'erreur.
Pour la valeur D2 = R, je me suis trompé, c'est la colonne P qu'il faut affiché (au lieu de la K),
Pour la valeur D2 = M, j'ai oublié de dire que la colonne AE devait être affichée.
Tout est ok pour les 20 autres conditions.
- Pour le cas de la valeur D2 = CTS, la ligne 3 doit apparaître et être masquée pour toutes les autres valeurs de D2.
- En cas de valeur dans la case H3 (uniquement si D2=CTS), on affiche les colonnes demandées pour la valeur H3.
Pourriez-vous m'expliquer où je peux retrouver ces informations dans le fichier et éventuellement m'expliquer pour y modifier les colonnes si cela ne vous prend pas trop de temps ?
Merci beaucoup,
Jordan
Bonsoir Jordan,
En fait c'est assez simple, si tu saisies "Affichée" dans une cellule de la feuille "Colonnes à afficher" la colonne en question sera affichée. Si la cellule est vide ou contient autre chose que "Affichée" elle ne le sera pas.
Si par hasard tu devais ajouter de nouvelles colonnes dans ton tableau "Saisie de données", pour créer la colonne dans "Colonnes à afficher", il faudra juste ajouter l'en-tête de colonne ligne 2 à la suite des autres et ligne 3 l'adresse de la colonne à laquelle elle fait référence dans la feuille "Saisie de données" (exemple : AF) et le tour est jouer. Plus qu'à stipuler les "Affichée" pour afficher ou non les colonnes en question pour les différents type d'établissements.
J'ai adapté le code pour que :
- lorsque D2 = CTS la ligne 3 soit affichée, sinon cachée
- lorsque la ligne 3 est affichée, les colonnes correspondantes aux valeurs des cellules D2 et H3 soient affichées
A tester :
https://www.cjoint.com/c/HLrvI2jIJqN
Bonne soirée
Jc
En fait c'est assez simple, si tu saisies "Affichée" dans une cellule de la feuille "Colonnes à afficher" la colonne en question sera affichée. Si la cellule est vide ou contient autre chose que "Affichée" elle ne le sera pas.
Si par hasard tu devais ajouter de nouvelles colonnes dans ton tableau "Saisie de données", pour créer la colonne dans "Colonnes à afficher", il faudra juste ajouter l'en-tête de colonne ligne 2 à la suite des autres et ligne 3 l'adresse de la colonne à laquelle elle fait référence dans la feuille "Saisie de données" (exemple : AF) et le tour est jouer. Plus qu'à stipuler les "Affichée" pour afficher ou non les colonnes en question pour les différents type d'établissements.
J'ai adapté le code pour que :
- lorsque D2 = CTS la ligne 3 soit affichée, sinon cachée
- lorsque la ligne 3 est affichée, les colonnes correspondantes aux valeurs des cellules D2 et H3 soient affichées
A tester :
https://www.cjoint.com/c/HLrvI2jIJqN
Bonne soirée
Jc
Bonsoir Jordan,
Alors c'est encore plus simple finalement :
Bonne soirée
Jc
Alors c'est encore plus simple finalement :
Sub afficher_colonne() Dim s As Object, c As Object Set s = Worksheets("Saisie des données") Set c = Worksheets("Colonnes à afficher") Dim code As String If s.Range("D7").Value = "CTS" or s.range("D7").value = "EF" Then s.Rows(8).EntireRow.Hidden = False code = s.Range("H8").Value Else s.Rows(8).EntireRow.Hidden = True code = s.Range("D7").Value End If For i = 2 To c.Range("A65536").End(xlUp).Row Select Case c.Range("A" & i).Value Case "Colonne" l_col = i Case code l_code = i End Select Next i For j = 2 To c.Range("IV2").End(xlToLeft).Column If c.Cells(l_code, j) = "Affichée" Then s.Columns(c.Cells(l_col, j).Value).EntireColumn.Hidden = False Else s.Columns(c.Cells(l_col, j).Value).EntireColumn.Hidden = True End If Next j End Sub
Bonne soirée
Jc
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Titeuf,
Mon fichier a été modifié et j'ai une question. Si les noms de feuilles changent et que les fonctions changent de feuilles, que dois-je faire sur le code ?
Je m'explique:
Les lignes 1 à 11 de la feuille "Saisie de données" sont passées sur une nouvelle feuille "Saisie des Données Dimensionnement".
La ligne à masquer est toujours la n°8.
Les valeurs prises en compte dans le masquage des colonnes sont passées sur la nouvelle feuille. Mais les colonnes à masquer sont restées sur la feuille originale (colonnes passées de I à AE vers B à X).
Merci de votre aide,
Jordan
Mon fichier a été modifié et j'ai une question. Si les noms de feuilles changent et que les fonctions changent de feuilles, que dois-je faire sur le code ?
Je m'explique:
Les lignes 1 à 11 de la feuille "Saisie de données" sont passées sur une nouvelle feuille "Saisie des Données Dimensionnement".
La ligne à masquer est toujours la n°8.
Les valeurs prises en compte dans le masquage des colonnes sont passées sur la nouvelle feuille. Mais les colonnes à masquer sont restées sur la feuille originale (colonnes passées de I à AE vers B à X).
Merci de votre aide,
Jordan
C'est ce que je me disais...
Je débute en VBA... Je suis pas sûr de ce que je fais. Je fais ce projet pur ma licence et il est amené à évoluer. C'est pour ça que j'essaye de comprendre la logique de ce code pour ne plus vous embêter toutes les semaines et monopoliser votre temps...
Le lien du fichieer: https://we.tl/t-YmFv41Iwtc
Bonne journée et merci encore,
Jordan
Je débute en VBA... Je suis pas sûr de ce que je fais. Je fais ce projet pur ma licence et il est amené à évoluer. C'est pour ça que j'essaye de comprendre la logique de ce code pour ne plus vous embêter toutes les semaines et monopoliser votre temps...
Le lien du fichieer: https://we.tl/t-YmFv41Iwtc
Bonne journée et merci encore,
Jordan