Macros pour masquer des colonnes selon critère
Résolu
Dddiaz
-
Dddiaz Messages postés 33 Statut Membre -
Dddiaz Messages postés 33 Statut Membre -
Bonjour,
Je voudrais masquer plusieurs colonnes dans une feuille selon critères d'une autre feuille du même classeur.
Bonjour,
J'ai fait un fichier "Devis" pour mon épouse qui est couturière.
Ce fichier comporte plusieurs onglets. "Fiche Technique" Et "Devis"
Maintenant je voudrais si c17 de fiche technique comporte "Store" que les colonnes H et I soit masquer dans la feuille "Devis".
La même chose lorsqu'il est marquer "Rideaux" toujours en c17 de la fiche technique mais que les colonnes G et I soit masquer de la feuille "Devis"
Et enfin toujours C17 "Overgordijn" mais cette fois les colonnes G et H soit masquer.
Chaque macro commandés par un bouton respectivement "Store" "Rideaux" "Overgordijn".
PS: je commence tout doucement an VBA mais ça c'est encore un peu trop difficile pour moi.
En vous remerciant de votre aide.
Je voudrais masquer plusieurs colonnes dans une feuille selon critères d'une autre feuille du même classeur.
Bonjour,
J'ai fait un fichier "Devis" pour mon épouse qui est couturière.
Ce fichier comporte plusieurs onglets. "Fiche Technique" Et "Devis"
Maintenant je voudrais si c17 de fiche technique comporte "Store" que les colonnes H et I soit masquer dans la feuille "Devis".
La même chose lorsqu'il est marquer "Rideaux" toujours en c17 de la fiche technique mais que les colonnes G et I soit masquer de la feuille "Devis"
Et enfin toujours C17 "Overgordijn" mais cette fois les colonnes G et H soit masquer.
Chaque macro commandés par un bouton respectivement "Store" "Rideaux" "Overgordijn".
PS: je commence tout doucement an VBA mais ça c'est encore un peu trop difficile pour moi.
En vous remerciant de votre aide.
A voir également:
- Google sheet masquer colonne sous condition
- Google maps satellite - Guide
- Google maps - Guide
- Dns google - Guide
- Déplacer colonne excel - Guide
- Google photo - Télécharger - Albums photo
7 réponses
Salut,
Tu peux te servir de l'enregistreur de macro pour apprendre le VBA...
Voici comment masquer/afficher des colonnes :
Ensuite, il suffiet juste e teste la valeur en C17 avec un SI (IF en vba) comme ceci :
Fais attention, si C17 et les colonnes à masquer sont dans des feuilles dfférentes, il faut preciser le nom de la feuille devant le nom de ta colonne/cellule
Exemple :
Pourquoi utiliser un bouton pour chaque cas ? Faire un programme qui se déclenche à chaque modifcation de C17 traitant tous les cas , serait plus approprié...
Tu peux te servir de l'enregistreur de macro pour apprendre le VBA...
Voici comment masquer/afficher des colonnes :
Column("H:J").hide 'Masque les colonnes de H à J
Column("H:J").show 'Affiche les colonnes de H à J
Ensuite, il suffiet juste e teste la valeur en C17 avec un SI (IF en vba) comme ceci :
IF range("C17").value="Devis" THEN
'On masque les colonnes
End if
Fais attention, si C17 et les colonnes à masquer sont dans des feuilles dfférentes, il faut preciser le nom de la feuille devant le nom de ta colonne/cellule
Exemple :
sheets("feuil1").range("C17")
Sheets("Devis").column("H:J")
Pourquoi utiliser un bouton pour chaque cas ? Faire un programme qui se déclenche à chaque modifcation de C17 traitant tous les cas , serait plus approprié...
Bonjour Benol 3
En effet serait plus approprier de faire une macro qui se déclenche automatiquement.
L'enregistreur de macro, j'ai déjà utiliser pour des truc simple, mais pour faire ça je ne sais pas trop comment m'y prendre.
feuille "Fiche technique" en C17: soit
1° "Store" alors les colonnes H et I doivent disparaître dans le feuille "Devis"
2° "Rideaux" alors les colonnes G et I doivent disparaître dans la feuille "Devis"
3° "Overgordijn" alors les colonnes G et H doivent disparaître dans la feuille "Devis"
D'avance merci de votre temps
En effet serait plus approprier de faire une macro qui se déclenche automatiquement.
L'enregistreur de macro, j'ai déjà utiliser pour des truc simple, mais pour faire ça je ne sais pas trop comment m'y prendre.
feuille "Fiche technique" en C17: soit
1° "Store" alors les colonnes H et I doivent disparaître dans le feuille "Devis"
2° "Rideaux" alors les colonnes G et I doivent disparaître dans la feuille "Devis"
3° "Overgordijn" alors les colonnes G et H doivent disparaître dans la feuille "Devis"
D'avance merci de votre temps
Re,
A mettre dans le code de la feuille "Fiche technique"
Il se peut qu'il y ai des erreurs dans le code, je ne l'ai pas testé... Redonne moi le message d'erreur et la ligne de code qui pose problème...
N'hésite pas à me poser des questions si tu ne comprends pas le code
A mettre dans le code de la feuille "Fiche technique"
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address="$C$17" Then 'Après chaque modification de la cellule C17
'Affiche toutes les colonnes déjà masquées dans la feuille Devis
sheets("Devis").column("G:J").show
'Masque les colonnes en fonction de la valeur de C17
SELECT case range("C17").value
Case "Devis" : sheets("Devis").column("H:J").hide
Case "Rideaux" : sheets("Devis").column("G:I").hide
Case "Overgordijn" : sheets("Devis").column("G:H").hide
END SELECT
End If
End Sub
Il se peut qu'il y ai des erreurs dans le code, je ne l'ai pas testé... Redonne moi le message d'erreur et la ligne de code qui pose problème...
N'hésite pas à me poser des questions si tu ne comprends pas le code
Bonsoir,
J'ai effectivement un message d'erreur.
Erreur d'exécution(9)
L'indice n'appartient pas a la sélection.
Voici le lien de mon fichier.
https://www.cjoint.com/c/EBuwjR3l2tb
Je comprend assez bien le code, j'ai juste mis les noms des onglet correcte. malgré ça j'ai encore le code d'erreur.
Bien à toi
J'ai effectivement un message d'erreur.
Erreur d'exécution(9)
L'indice n'appartient pas a la sélection.
Voici le lien de mon fichier.
https://www.cjoint.com/c/EBuwjR3l2tb
Je comprend assez bien le code, j'ai juste mis les noms des onglet correcte. malgré ça j'ai encore le code d'erreur.
Bien à toi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Modification de ta Macro
A+
Maurice
Modification de ta Macro
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$17" Then 'Après chaque modification de la cellule C17
'Affiche toutes les colonnes déjà masquées dans la feuille Cible
With Sheets(Feuil3.Name)
.Cells.EntireColumn.Hidden = False
'Masque les colonnes en fonction de la valeur de C17
Select Case Range("C17").Value
Case "Store"
.Columns("H:J").EntireColumn.Hidden = True
Case "Rideaux"
.Columns("G:I").EntireColumn.Hidden = True
Case "Overgordijn"
.Columns("G:H").EntireColumn.Hidden = True
End Select
.Range("A1").Select
End With
End If
End Sub
A+
Maurice