Macros pour masquer des colonnes selon critère
Résolu
Dddiaz
-
Dddiaz Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Dddiaz Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Google sheet masquer colonne sous condition
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - 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