Macro de masquage/démascage de colonne en fonction d'une valeur prise
18 réponses
Chimilmili Blick
Bonjour,
Je souhaiterais, via une macro, pouvoir d=E9masquer/masquer automatiquement=
des colonnes en fonction qu'une valeur est pr=E9sente en ligne 4 de la col=
onne ou pas.
En d'autres terme et p.ex si la valeur B4 est =E9gale =E0 "", la colonne B =
doit =EAtre/se masquer, si par contre la valeur B4 est =E9gale =E0 une vale=
ur (p.ex. "A" ou "6") la colonne doit se d=E9masquer.
Ci-joint un classeur qui permettra peut-=EAtre de mieux comprendre ce que j=
e souhaite.
http://cjoint.com/?DIwlqP9ebye=A0
Mille mercis =E0 celui/celle qui pourra m'aider =E0 trouver le code associ=
=E9.
Il faut éviter de sélectionner des colonnes ou des lignes entières aux fins de formatage. Depuis Excel 2007, le nombre de cellules dans une colonne est au-delà 1,000,000 par plus de 16,000 cellules par ligne. Ceci augmente substantiellement l'étendue de la plage définie dans chacune des feuilles et par conséquent augmente le poids du fichier même si ton fichier n'a pas beaucoup de données.
| Mais où sont passés tout ces kilos de bits ?
Il faut éviter de sélectionner des colonnes ou des lignes entières aux fins de formatage.
Depuis Excel 2007, le nombre de cellules dans une colonne est au-delà 1,000,000
par plus de 16,000 cellules par ligne. Ceci augmente substantiellement l'étendue
de la plage définie dans chacune des feuilles et par conséquent augmente le poids
du fichier même si ton fichier n'a pas beaucoup de données.
Il faut éviter de sélectionner des colonnes ou des lignes entières aux fins de formatage. Depuis Excel 2007, le nombre de cellules dans une colonne est au-delà 1,000,000 par plus de 16,000 cellules par ligne. Ceci augmente substantiellement l'étendue de la plage définie dans chacune des feuilles et par conséquent augmente le poids du fichier même si ton fichier n'a pas beaucoup de données.
'------------------------------- L'idée est que ces colonnes se démasquent automatiquement dès qu'une information qui les concerne est saisie en feuille SaisiePojCom. Il s'agit aussi qu'elles se masquent si l'information est effacée. '-------------------------------
Quelles sont les colonnes sur la feuille 2014-2015 que tu veux masquer ou afficher selon ce que l'usager tape dans la feuille "SaisiePojCom", dans la une cellule de la colonne correspondante?
'-------------------------------
L'idée est que ces colonnes se démasquent automatiquement dès qu'une information qui les concerne
est saisie en feuille SaisiePojCom. Il s'agit aussi qu'elles se masquent si l'information est
effacée.
'-------------------------------
Quelles sont les colonnes sur la feuille 2014-2015 que tu veux masquer ou afficher selon ce que
l'usager tape dans la feuille "SaisiePojCom", dans la une cellule de la colonne correspondante?
'------------------------------- L'idée est que ces colonnes se démasquent automatiquement dès qu'une information qui les concerne est saisie en feuille SaisiePojCom. Il s'agit aussi qu'elles se masquent si l'information est effacée. '-------------------------------
Quelles sont les colonnes sur la feuille 2014-2015 que tu veux masquer ou afficher selon ce que l'usager tape dans la feuille "SaisiePojCom", dans la une cellule de la colonne correspondante?
Chimilimili Blick
Quelles sont les colonnes sur la feuille 2014-2015 que tu veux masquer ou a fficher selon ce que l'usager tape dans la feuille "SaisiePojCom", dans la une cellule de la colonne correspondante?
Et bien les colonnes correspondantes :
Une saisie en SaisiePojCom'C3 démasque la colonne 2014-2015'E:E Une saisie en SaisiePojCom'G5 démasque la colonne 2014-2015'AK:AK Une saisie en SaisiePojCom'O11 démasque la colonne 2014-2015'CY:CY
dès qu'une colonne de la feuille 2014-2015 contient (ramène) une inform ation utile (non vide) dans son espace (plage) E3:EX3 elle doit se démasq uer. Quand ces même colonnes ont pour valeur une cellule vide en ligne 3 la colonne doit se masquer.
Oups ai-je été clair ?
Merci en tout cas pour votre aide.
Chimilimili
Quelles sont les colonnes sur la feuille 2014-2015 que tu veux masquer ou a fficher selon ce que l'usager tape dans la feuille "SaisiePojCom", dans la une cellule de la colonne correspondante?
Et bien les colonnes correspondantes :
Une saisie en SaisiePojCom'C3 démasque la colonne 2014-2015'E:E
Une saisie en SaisiePojCom'G5 démasque la colonne 2014-2015'AK:AK
Une saisie en SaisiePojCom'O11 démasque la colonne 2014-2015'CY:CY
dès qu'une colonne de la feuille 2014-2015 contient (ramène) une inform ation utile (non vide) dans son espace (plage) E3:EX3 elle doit se démasq uer. Quand ces même colonnes ont pour valeur une cellule vide en ligne 3 la colonne doit se masquer.
Quelles sont les colonnes sur la feuille 2014-2015 que tu veux masquer ou a fficher selon ce que l'usager tape dans la feuille "SaisiePojCom", dans la une cellule de la colonne correspondante?
Et bien les colonnes correspondantes :
Une saisie en SaisiePojCom'C3 démasque la colonne 2014-2015'E:E Une saisie en SaisiePojCom'G5 démasque la colonne 2014-2015'AK:AK Une saisie en SaisiePojCom'O11 démasque la colonne 2014-2015'CY:CY
dès qu'une colonne de la feuille 2014-2015 contient (ramène) une inform ation utile (non vide) dans son espace (plage) E3:EX3 elle doit se démasq uer. Quand ces même colonnes ont pour valeur une cellule vide en ligne 3 la colonne doit se masquer.
Oups ai-je été clair ?
Merci en tout cas pour votre aide.
Chimilimili
MichD
Tu veux dire que dans toute ton application, tu ne veux saisir des données que dans les 3 cellules suivantes?
Une saisie en SaisiePojCom'C3 démasque la colonne 2014-2015'E:E Une saisie en SaisiePojCom'G5 démasque la colonne 2014-2015'AK:AK Une saisie en SaisiePojCom'O11 démasque la colonne 2014-2015'CY:CY
Tu veux dire que dans toute ton application, tu ne veux saisir des données que dans les 3 cellules
suivantes?
Une saisie en SaisiePojCom'C3 démasque la colonne 2014-2015'E:E
Une saisie en SaisiePojCom'G5 démasque la colonne 2014-2015'AK:AK
Une saisie en SaisiePojCom'O11 démasque la colonne 2014-2015'CY:CY
Tu veux dire que dans toute ton application, tu ne veux saisir des données que dans les 3 cellules suivantes?
Une saisie en SaisiePojCom'C3 démasque la colonne 2014-2015'E:E Une saisie en SaisiePojCom'G5 démasque la colonne 2014-2015'AK:AK Une saisie en SaisiePojCom'O11 démasque la colonne 2014-2015'CY:CY
MichD
OK, je viens de comprendre :
Fais un clic droit sur l'onglet de la feuille "SaisiePojCom" et copie la procédure suivante dans cette page.
'Dans le code, j'utilise le nom de l'objet "Feuille" que représente 'la propriété "Name" de l'objet au lieu du nom de l'onglet de la feuille.
'Dans la petite fenêtre de ton projetVBA, l'arborescence se lit comme suit : 'Feuil1!(SaisiePojCom) 'Feuil2!(2014-2015)
'Feuil2 est le nom de la propriété Name '2014-2015 est le nom d'onglet de la même feuille. '-------------------------------------------------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim C As Range With Feuil2 For Each C In .Range("E3:EX3") If C.Value <> "" Then C.EntireColumn.Hidden = False Else C.EntireColumn.Hidden = True End If Next End With End Sub '--------------------------------------------------------------------------------------------
OK, je viens de comprendre :
Fais un clic droit sur l'onglet de la feuille "SaisiePojCom" et copie la procédure
suivante dans cette page.
'Dans le code, j'utilise le nom de l'objet "Feuille" que représente
'la propriété "Name" de l'objet au lieu du nom de l'onglet de la feuille.
'Dans la petite fenêtre de ton projetVBA, l'arborescence se lit comme suit :
'Feuil1!(SaisiePojCom)
'Feuil2!(2014-2015)
'Feuil2 est le nom de la propriété Name
'2014-2015 est le nom d'onglet de la même feuille.
'--------------------------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
With Feuil2
For Each C In .Range("E3:EX3")
If C.Value <> "" Then
C.EntireColumn.Hidden = False
Else
C.EntireColumn.Hidden = True
End If
Next
End With
End Sub
'--------------------------------------------------------------------------------------------
Fais un clic droit sur l'onglet de la feuille "SaisiePojCom" et copie la procédure suivante dans cette page.
'Dans le code, j'utilise le nom de l'objet "Feuille" que représente 'la propriété "Name" de l'objet au lieu du nom de l'onglet de la feuille.
'Dans la petite fenêtre de ton projetVBA, l'arborescence se lit comme suit : 'Feuil1!(SaisiePojCom) 'Feuil2!(2014-2015)
'Feuil2 est le nom de la propriété Name '2014-2015 est le nom d'onglet de la même feuille. '-------------------------------------------------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim C As Range With Feuil2 For Each C In .Range("E3:EX3") If C.Value <> "" Then C.EntireColumn.Hidden = False Else C.EntireColumn.Hidden = True End If Next End With End Sub '--------------------------------------------------------------------------------------------