Masquer automatiquement des colonnes et des lignes suivant une valeur

Résolu/Fermé
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 - 14 déc. 2018 à 17:36
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 - 14 janv. 2019 à 09:07
Bonjour à tous,
Je cherche à masquer automatiquement une ligne suivant le résultat d'une cellule et d'autre part, des colonnes suivant la valeur que prend la même cellule.

Pour la ligne, je veux masquer la ligne 3 de l'onglet Saisie des données uniquement si la cellule D2 = CTS

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.

Je n'arrive pas à joindre le fichier.

Merci d'avance pour votre aide.

Jordan
A voir également:

6 réponses

danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
15 déc. 2018 à 11:10
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
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
15 déc. 2018 à 18:59
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
0
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
16 déc. 2018 à 11:15
"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
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
16 déc. 2018 à 15:04
Bonjour Daniel,
Tous les cas sont détaillés sur le fichier dans le dernier onglet.
Merci,
Jordan
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
16 déc. 2018 à 15:04
Nouveau lien du fichier car il a subi quelques modifications...
https://mon-partage.fr/f/IR6dX0K1/
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
16 déc. 2018 à 21:52
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
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
17 déc. 2018 à 07:23
Bonjour titeufdu89
Je n'arrive pas à ouvrir le fichier.
Bonne journée,
Jordan
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
17 déc. 2018 à 08:23
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
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
17 déc. 2018 à 21:26
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
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
17 déc. 2018 à 21:28
Le lien du nouveau fichier:
https://mon-partage.fr/f/TtRzcagw/
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
17 déc. 2018 à 22:39
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
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
Modifié le 1 janv. 2019 à 23:00
Bonsoir Jordan,

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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
1 janv. 2019 à 23:02
Voici le fichier a jour : https://mon-partage.fr/f/Jsl9WQyi/

Bonne soirée

Jc
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
2 janv. 2019 à 10:34
Bonjour Titeuf,
Je vous remercie pour votre aide.
Bonne journée,
Cordialement,
Jordan
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
Modifié le 11 janv. 2019 à 11:35
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
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
11 janv. 2019 à 16:38
Bonjour Jordan,

Difficile sans le fichier de t'aiguiller. En gros, on a créé une macro sur mesure et toute la configuration du fichier a été modifié... :-s
Il faut donc reparamétrer toute la macro et l'adapter a ton nouveau fichier, peux-tu poster un exemple de ton fichier stp. Merci

Jc
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
11 janv. 2019 à 18:18
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
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
13 janv. 2019 à 11:34
Bonjour Jordan,

Ci-joint ton fichier actualisé, j'ai également mis quelques commentaires dans le code de la macro (écrit en vert) si ça peut t'aider a comprendre un peu mieux la décomposition de la macro et son fonctionnement.
https://mon-partage.fr/f/mMmXu7e8/

Bonne journée

Jc
0
jojodu42210 Messages postés 28 Date d'inscription lundi 28 mars 2016 Statut Membre Dernière intervention 16 mai 2020 1
14 janv. 2019 à 09:07
Merci
0