Bonjour (ou Re! car je suis assez présent ce soir...)
Pourriez vous m'aider à réaliser deux macro qui permettraient d'afficher
successivement des colonnes qui fonctionnent par 3: BCD, EFG, HIJ
etc... et une troisième macro qui permettrait de lancer l'impression
(je m'explique plus bas):
Au départ, toutes ces colonnes seraient masquées. Seules la colonne A
serait apparente. Il y a aurait un bouton qui permettrait d'afficher
BCD, puis EFG, puis HIJ etc... et une autre qui permettrait de revenir
en arrière (si HIJ est affiché, on revient sur EFG, puis BCD etc...).
Autrement dit, la macro masque les 3 colonnes visibles à côté de la
colonne A et affiche les trois suivantes ou précédentes.
Je souhaiterait également une macro qui permettrait de lancer les
impressions: colonne A+BCD, colonne A+EFG, colonne A+HIJ etc... la
routine s'arrêterait selon un nombre de colonnes (sans compter la
colonne A) qui serait écrit en cellule A1. Si le nombre qui est écrit en
cellule A1 est 9, il imprime successivement A+BCD, A+EFG puis A+HIJ. Si
le nombre est 15, il imprime en plus A+KLM et A+NOP etc....
Merci pour vos lumières
Greg
Bonjour (ou Re! car je suis assez présent ce soir...)
Pourriez vous m'aider à réaliser deux macro qui permettraient d'afficher
successivement des colonnes qui fonctionnent par 3: BCD, EFG, HIJ
etc... et une troisième macro qui permettrait de lancer l'impression
(je m'explique plus bas):
Au départ, toutes ces colonnes seraient masquées. Seules la colonne A
serait apparente. Il y a aurait un bouton qui permettrait d'afficher
BCD, puis EFG, puis HIJ etc... et une autre qui permettrait de revenir
en arrière (si HIJ est affiché, on revient sur EFG, puis BCD etc...).
Autrement dit, la macro masque les 3 colonnes visibles à côté de la
colonne A et affiche les trois suivantes ou précédentes.
Je souhaiterait également une macro qui permettrait de lancer les
impressions: colonne A+BCD, colonne A+EFG, colonne A+HIJ etc... la
routine s'arrêterait selon un nombre de colonnes (sans compter la
colonne A) qui serait écrit en cellule A1. Si le nombre qui est écrit en
cellule A1 est 9, il imprime successivement A+BCD, A+EFG puis A+HIJ. Si
le nombre est 15, il imprime en plus A+KLM et A+NOP etc....
Merci pour vos lumières
Greg
Bonjour (ou Re! car je suis assez présent ce soir...)
Pourriez vous m'aider à réaliser deux macro qui permettraient d'afficher
successivement des colonnes qui fonctionnent par 3: BCD, EFG, HIJ
etc... et une troisième macro qui permettrait de lancer l'impression
(je m'explique plus bas):
Au départ, toutes ces colonnes seraient masquées. Seules la colonne A
serait apparente. Il y a aurait un bouton qui permettrait d'afficher
BCD, puis EFG, puis HIJ etc... et une autre qui permettrait de revenir
en arrière (si HIJ est affiché, on revient sur EFG, puis BCD etc...).
Autrement dit, la macro masque les 3 colonnes visibles à côté de la
colonne A et affiche les trois suivantes ou précédentes.
Je souhaiterait également une macro qui permettrait de lancer les
impressions: colonne A+BCD, colonne A+EFG, colonne A+HIJ etc... la
routine s'arrêterait selon un nombre de colonnes (sans compter la
colonne A) qui serait écrit en cellule A1. Si le nombre qui est écrit en
cellule A1 est 9, il imprime successivement A+BCD, A+EFG puis A+HIJ. Si
le nombre est 15, il imprime en plus A+KLM et A+NOP etc....
Merci pour vos lumières
Greg
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir Greg,
Si tu veux une liste, il suffit d'utiliser dans les formulaire la "Liste
déroulante" en lieu et place des "Case option" que j'ai utilisés
Cet objet renvoie la position dans la liste et tu reprends le même code
que j'ai utilisé pour "Case Option". Cette liste peut bien entendu être
alimentée par une plage nommée.
Il est également possible d'utiliser une fonction EQUIV (MATCH) pour
chercher le nom dans une colonne et ainsi connaître sa position et masquer
à partir de cette adresse.
Plusieurs solutions sont possible.
Philippe
Greg a écrit :Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne CM
sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir Greg,
Si tu veux une liste, il suffit d'utiliser dans les formulaire la "Liste
déroulante" en lieu et place des "Case option" que j'ai utilisés
Cet objet renvoie la position dans la liste et tu reprends le même code
que j'ai utilisé pour "Case Option". Cette liste peut bien entendu être
alimentée par une plage nommée.
Il est également possible d'utiliser une fonction EQUIV (MATCH) pour
chercher le nom dans une colonne et ainsi connaître sa position et masquer
à partir de cette adresse.
Plusieurs solutions sont possible.
Philippe
Greg a écrit :
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne CM
sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir Greg,
Si tu veux une liste, il suffit d'utiliser dans les formulaire la "Liste
déroulante" en lieu et place des "Case option" que j'ai utilisés
Cet objet renvoie la position dans la liste et tu reprends le même code
que j'ai utilisé pour "Case Option". Cette liste peut bien entendu être
alimentée par une plage nommée.
Il est également possible d'utiliser une fonction EQUIV (MATCH) pour
chercher le nom dans une colonne et ainsi connaître sa position et masquer
à partir de cette adresse.
Plusieurs solutions sont possible.
Philippe
Greg a écrit :Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne CM
sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Merci Philippe pour les explications. Malheureusement, mes petites
compétences dans Excel me rendent bien incapble de mettre ça en place....
Même avec beaucouip de bonne volonté!
En espérant qu'une bonne âme me donnera un coup de main... ou de pied dans
les fesses ;-)
Greg
"Corona" a écrit dans le message de
news:e$Bonsoir Greg,
Si tu veux une liste, il suffit d'utiliser dans les formulaire la
"Liste déroulante" en lieu et place des "Case option" que j'ai utilisés
Cet objet renvoie la position dans la liste et tu reprends le même code
que j'ai utilisé pour "Case Option". Cette liste peut bien entendu être
alimentée par une plage nommée.
Il est également possible d'utiliser une fonction EQUIV (MATCH) pour
chercher le nom dans une colonne et ainsi connaître sa position et
masquer à partir de cette adresse.
Plusieurs solutions sont possible.
Philippe
Greg a écrit :Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Merci Philippe pour les explications. Malheureusement, mes petites
compétences dans Excel me rendent bien incapble de mettre ça en place....
Même avec beaucouip de bonne volonté!
En espérant qu'une bonne âme me donnera un coup de main... ou de pied dans
les fesses ;-)
Greg
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:e$8nZ6qfKHA.5420@TK2MSFTNGP06.phx.gbl...
Bonsoir Greg,
Si tu veux une liste, il suffit d'utiliser dans les formulaire la
"Liste déroulante" en lieu et place des "Case option" que j'ai utilisés
Cet objet renvoie la position dans la liste et tu reprends le même code
que j'ai utilisé pour "Case Option". Cette liste peut bien entendu être
alimentée par une plage nommée.
Il est également possible d'utiliser une fonction EQUIV (MATCH) pour
chercher le nom dans une colonne et ainsi connaître sa position et
masquer à partir de cette adresse.
Plusieurs solutions sont possible.
Philippe
Greg a écrit :
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Merci Philippe pour les explications. Malheureusement, mes petites
compétences dans Excel me rendent bien incapble de mettre ça en place....
Même avec beaucouip de bonne volonté!
En espérant qu'une bonne âme me donnera un coup de main... ou de pied dans
les fesses ;-)
Greg
"Corona" a écrit dans le message de
news:e$Bonsoir Greg,
Si tu veux une liste, il suffit d'utiliser dans les formulaire la
"Liste déroulante" en lieu et place des "Case option" que j'ai utilisés
Cet objet renvoie la position dans la liste et tu reprends le même code
que j'ai utilisé pour "Case Option". Cette liste peut bien entendu être
alimentée par une plage nommée.
Il est également possible d'utiliser une fonction EQUIV (MATCH) pour
chercher le nom dans une colonne et ainsi connaître sa position et
masquer à partir de cette adresse.
Plusieurs solutions sont possible.
Philippe
Greg a écrit :Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Je comprendrais que la denière macro vous inspire moins....
Sauriez-vous m'aider au moins sur les deux premières?
Je comprendrais que la denière macro vous inspire moins....
Sauriez-vous m'aider au moins sur les deux premières?
Je comprendrais que la denière macro vous inspire moins....
Sauriez-vous m'aider au moins sur les deux premières?
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne
CM sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonjour,
Une proposition sans liste. Dans la cellule A2 de la feuille qui
cache/affiche des colonnes, tu tapes la (ou les) lettre(s) d'une des 3
colonnes à afficher et elles s'affichent :
'================== > Sub ColonnesAuChoix(UneColonne)
Dim i&, x&
If UneColonne = "" Then GoTo Erreur
Range("B1:CM1").EntireColumn.Hidden = True
i = Cells(1, UneColonne).Column
If i = 1 Or i > 91 Then GoTo Erreur
x = (Application.Match((i - 1) Mod 3, Array(1, 2, 0), 0) - 1) * -1
Cells(1, i + x).Resize(, 3).EntireColumn.Hidden = False
Exit Sub
Erreur:
Range("B1:CM1").EntireColumn.Hidden = False
End Sub
'==================== >
Procédure que tu peux appeler dans le module de code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A2" Then
ColonnesAuChoix Target.Value
End If
End Sub
Un petit exemple ici :
http://www.cijoint.fr/cjlink.php?file=cj200912/cijwvW9kVr.xls
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Greg a écrit :Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne CM
sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonjour,
Une proposition sans liste. Dans la cellule A2 de la feuille qui
cache/affiche des colonnes, tu tapes la (ou les) lettre(s) d'une des 3
colonnes à afficher et elles s'affichent :
'================== > Sub ColonnesAuChoix(UneColonne)
Dim i&, x&
If UneColonne = "" Then GoTo Erreur
Range("B1:CM1").EntireColumn.Hidden = True
i = Cells(1, UneColonne).Column
If i = 1 Or i > 91 Then GoTo Erreur
x = (Application.Match((i - 1) Mod 3, Array(1, 2, 0), 0) - 1) * -1
Cells(1, i + x).Resize(, 3).EntireColumn.Hidden = False
Exit Sub
Erreur:
Range("B1:CM1").EntireColumn.Hidden = False
End Sub
'==================== >
Procédure que tu peux appeler dans le module de code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A2" Then
ColonnesAuChoix Target.Value
End If
End Sub
Un petit exemple ici :
http://www.cijoint.fr/cjlink.php?file=cj200912/cijwvW9kVr.xls
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Greg a écrit :
Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne CM
sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonjour,
Une proposition sans liste. Dans la cellule A2 de la feuille qui
cache/affiche des colonnes, tu tapes la (ou les) lettre(s) d'une des 3
colonnes à afficher et elles s'affichent :
'================== > Sub ColonnesAuChoix(UneColonne)
Dim i&, x&
If UneColonne = "" Then GoTo Erreur
Range("B1:CM1").EntireColumn.Hidden = True
i = Cells(1, UneColonne).Column
If i = 1 Or i > 91 Then GoTo Erreur
x = (Application.Match((i - 1) Mod 3, Array(1, 2, 0), 0) - 1) * -1
Cells(1, i + x).Resize(, 3).EntireColumn.Hidden = False
Exit Sub
Erreur:
Range("B1:CM1").EntireColumn.Hidden = False
End Sub
'==================== >
Procédure que tu peux appeler dans le module de code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A2" Then
ColonnesAuChoix Target.Value
End If
End Sub
Un petit exemple ici :
http://www.cijoint.fr/cjlink.php?file=cj200912/cijwvW9kVr.xls
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Greg a écrit :Bonsoir et merci,
La proposition ressemble à ce que je voudrais.
En fait, il faut imaginer que BCD, EFG, HIJ etc..... jusque la colonne CM
sont masqués. Quand je clique sur BCD, les trois colonnes B-C-D
apparaissent à côté de la colonne A. Quand je clique ensuite sur WXY,
BCD disparait et on peut voir WXY à côté de la colonne A etc... Un accès
tout simple me conviendrait mais si je pouvais réver:
-------------
Concernant la présentation, l'idéal serait de pouvoir choisir dans une
liste déroulante et que les noms de la liste correspondent à une liste
que j'aurais mis en feuille 3 de A2 à A31:
Contenu de la cellule A2 (Greg): B-C-D
Contenu de la cellule A3 (Jacky): E-F-G
.....
Contenu de la cellule A31(Frédo):CK-CL-CM
Pour être plus concrêt: s'il est écrit "Jacky" en cellule A3, feuille3,
on peut retrouver les colonnes EFG à côté de la colonne A si l'on clique
sur "Jacky" dans la liste déroulante qui lance la macro.
Voilà... j'espère étre clair. Sinon, j'essaierai de faire une PJ.
à plus
Greg
Bonjour Greg,
Pour ta dernière question quant à l'impression
==> A placer en début du module où sont les procédures
d'Afficher/Masquer
Dim maPlage as range
==> A placer dans la procédure qui affiche les colonnes
' Calcul de la Plage à imprimer
Set maPlage = Range(Cells(1, NumColonneStart), Cells(30,
NumColonneStart+2))
' Donnera comme adresse $E$1:$G$30 si NumColonneStart = 4 et si les
lignes à imprimer vont de 1 à 30 − A adapter selon les besoins
ActiveSheet.PageSetup.PrintArea = maPlage.Address (Où maPlage.Address
représente l'adresse à imprimer)
Philippe
Greg a écrit :Je comprendrais que la denière macro vous inspire moins....
Sauriez-vous m'aider au moins sur les deux premières?
Bonjour Greg,
Pour ta dernière question quant à l'impression
==> A placer en début du module où sont les procédures
d'Afficher/Masquer
Dim maPlage as range
==> A placer dans la procédure qui affiche les colonnes
' Calcul de la Plage à imprimer
Set maPlage = Range(Cells(1, NumColonneStart), Cells(30,
NumColonneStart+2))
' Donnera comme adresse $E$1:$G$30 si NumColonneStart = 4 et si les
lignes à imprimer vont de 1 à 30 − A adapter selon les besoins
ActiveSheet.PageSetup.PrintArea = maPlage.Address (Où maPlage.Address
représente l'adresse à imprimer)
Philippe
Greg a écrit :
Je comprendrais que la denière macro vous inspire moins....
Sauriez-vous m'aider au moins sur les deux premières?
Bonjour Greg,
Pour ta dernière question quant à l'impression
==> A placer en début du module où sont les procédures
d'Afficher/Masquer
Dim maPlage as range
==> A placer dans la procédure qui affiche les colonnes
' Calcul de la Plage à imprimer
Set maPlage = Range(Cells(1, NumColonneStart), Cells(30,
NumColonneStart+2))
' Donnera comme adresse $E$1:$G$30 si NumColonneStart = 4 et si les
lignes à imprimer vont de 1 à 30 − A adapter selon les besoins
ActiveSheet.PageSetup.PrintArea = maPlage.Address (Où maPlage.Address
représente l'adresse à imprimer)
Philippe
Greg a écrit :Je comprendrais que la denière macro vous inspire moins....
Sauriez-vous m'aider au moins sur les deux premières?