Je poste mon message car je n'arrive pas à trouver la bonne commande malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection.
Puis exécuter la macro suivante:
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
(qui me permet de masquer certaines lignes).
2) Retourner à la cellule qui était sélectionnée avant la macro.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
garnote
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
"Nicolas" a écrit dans le message de news: 3ffb29d2$0$7148$
Bonsoir,
Je poste mon message car je n'arrive pas à trouver la bonne commande malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection. Puis exécuter la macro suivante: Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True (qui me permet de masquer certaines lignes). 2) Retourner à la cellule qui était sélectionnée avant la macro.
Je n'arrive pas à faire les points 1 et 2.
Merci de votre aide.
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell
...
...
ici.Select
...
Serge
"Nicolas" <nico.fr@free.fr> a écrit dans le message de news:
3ffb29d2$0$7148$626a54ce@news.free.fr...
Bonsoir,
Je poste mon message car je n'arrive pas à trouver la bonne commande
malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection.
Puis exécuter la macro suivante:
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
(qui me permet de masquer certaines lignes).
2) Retourner à la cellule qui était sélectionnée avant la macro.
"Nicolas" a écrit dans le message de news: 3ffb29d2$0$7148$
Bonsoir,
Je poste mon message car je n'arrive pas à trouver la bonne commande malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection. Puis exécuter la macro suivante: Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True (qui me permet de masquer certaines lignes). 2) Retourner à la cellule qui était sélectionnée avant la macro.
Je n'arrive pas à faire les points 1 et 2.
Merci de votre aide.
Nicolas
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
"Nicolas" a écrit dans le message de news: 3ffb29d2$0$7148$
Bonsoir,
Je poste mon message car je n'arrive pas à trouver la bonne commande malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection. Puis exécuter la macro suivante: Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True (qui me permet de masquer certaines lignes). 2) Retourner à la cellule qui était sélectionnée avant la macro.
Je n'arrive pas à faire les points 1 et 2.
Merci de votre aide.
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
"garnote" <rien@absent.net> a écrit dans le message de
news:BVFKb.27889$6N3.6059@charlie.risq.qc.ca...
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell
...
...
ici.Select
...
Serge
"Nicolas" <nico.fr@free.fr> a écrit dans le message de news:
3ffb29d2$0$7148$626a54ce@news.free.fr...
Bonsoir,
Je poste mon message car je n'arrive pas à trouver la bonne commande
malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection.
Puis exécuter la macro suivante:
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
(qui me permet de masquer certaines lignes).
2) Retourner à la cellule qui était sélectionnée avant la macro.
Je n'arrive pas à faire les points 1 et 2.
Merci de votre aide.
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça:
---------------------------------
Sub Masquer()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
ici.Select
End Sub
Sub Afficher()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = False
ici.Select
End Sub
-----------------------------------
Bonne nuit.
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
"Nicolas" a écrit dans le message de news: 3ffb29d2$0$7148$
Bonsoir,
Je poste mon message car je n'arrive pas à trouver la bonne commande malgré
mes recherches et essais divers.
Je voudrais:
1) Mémoriser la position de la cellule en cours de sélection. Puis exécuter la macro suivante: Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True (qui me permet de masquer certaines lignes). 2) Retourner à la cellule qui était sélectionnée avant la macro.
Je n'arrive pas à faire les points 1 et 2.
Merci de votre aide.
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
Michel Gaboly
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres Activate), chaque fois que c'est possible, c'est-à-dire dans l'immense majorité des cas :
Sub Masquer() Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Sub Afficher() Range("12:12,16:16,21:21").EntireRow.Hidden = False End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut servir dans d'autres circonstances ;-))
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres
Activate), chaque fois que c'est possible, c'est-à-dire
dans l'immense majorité des cas :
Sub Masquer()
Range("12:12,16:16,21:21").EntireRow.Hidden = True
End Sub
Sub Afficher()
Range("12:12,16:16,21:21").EntireRow.Hidden = False
End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut
servir dans d'autres circonstances ;-))
"garnote" <rien@absent.net> a écrit dans le message de
news:BVFKb.27889$6N3.6059@charlie.risq.qc.ca...
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell
...
...
ici.Select
...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça:
---------------------------------
Sub Masquer()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
ici.Select
End Sub
Sub Afficher()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = False
ici.Select
End Sub
-----------------------------------
Bonne nuit.
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres Activate), chaque fois que c'est possible, c'est-à-dire dans l'immense majorité des cas :
Sub Masquer() Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Sub Afficher() Range("12:12,16:16,21:21").EntireRow.Hidden = False End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut servir dans d'autres circonstances ;-))
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Nicolas
Merci pour ce complément. Il me manque quand même une info car mon fichier comporte 2 onglets et quand je lance ma macro de masquage, ou l'autre (j'ai ajouté une ligne qui sélectionne la première puis la deuxième feuille), le retour par la commande "ici.select" reste sur la deuxième feuille.
Il faudrait donc, soit que je mémorise quelle est la feuille de départ, soit que j'applique le masquage directement par ta méthode Range("12:12,16:16,21:21").EntireRow.Hidden = True en incluant le nom de la feuille. Je sais pas si c'est possible, il faut que je regarde.
"Michel Gaboly" a écrit dans le message de news:
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres Activate), chaque fois que c'est possible, c'est-à-dire dans l'immense majorité des cas :
Sub Masquer() Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Sub Afficher() Range("12:12,16:16,21:21").EntireRow.Hidden = False End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut servir dans d'autres circonstances ;-))
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Merci pour ce complément.
Il me manque quand même une info car mon fichier comporte 2 onglets et quand
je lance ma macro de masquage, ou l'autre (j'ai ajouté une ligne qui
sélectionne la première puis la deuxième feuille), le retour par la commande
"ici.select" reste sur la deuxième feuille.
Il faudrait donc, soit que je mémorise quelle est la feuille de départ, soit
que j'applique le masquage directement par ta méthode
Range("12:12,16:16,21:21").EntireRow.Hidden = True en incluant le nom de la
feuille. Je sais pas si c'est possible, il faut que je regarde.
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:3FFBD01B.82A7CF36@Suppgaboly.com...
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres
Activate), chaque fois que c'est possible, c'est-à-dire
dans l'immense majorité des cas :
Sub Masquer()
Range("12:12,16:16,21:21").EntireRow.Hidden = True
End Sub
Sub Afficher()
Range("12:12,16:16,21:21").EntireRow.Hidden = False
End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut
servir dans d'autres circonstances ;-))
"garnote" <rien@absent.net> a écrit dans le message de
news:BVFKb.27889$6N3.6059@charlie.risq.qc.ca...
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell
...
...
ici.Select
...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça:
---------------------------------
Sub Masquer()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
ici.Select
End Sub
Sub Afficher()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = False
ici.Select
End Sub
-----------------------------------
Bonne nuit.
Merci pour ce complément. Il me manque quand même une info car mon fichier comporte 2 onglets et quand je lance ma macro de masquage, ou l'autre (j'ai ajouté une ligne qui sélectionne la première puis la deuxième feuille), le retour par la commande "ici.select" reste sur la deuxième feuille.
Il faudrait donc, soit que je mémorise quelle est la feuille de départ, soit que j'applique le masquage directement par ta méthode Range("12:12,16:16,21:21").EntireRow.Hidden = True en incluant le nom de la feuille. Je sais pas si c'est possible, il faut que je regarde.
"Michel Gaboly" a écrit dans le message de news:
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres Activate), chaque fois que c'est possible, c'est-à-dire dans l'immense majorité des cas :
Sub Masquer() Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Sub Afficher() Range("12:12,16:16,21:21").EntireRow.Hidden = False End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut servir dans d'autres circonstances ;-))
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Michel Gaboly
Re,
Bien sûr que tu peux intégrer le nom de la feuille contenant les cellules à masquer :
Sub Masquer() Sheets("Toto").Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Le principe est que si tu ne qualifies pas Range, l'instruction s'applique à la feuille active.
Select et Activate sont à éviter le plus souvent, sauf, le cas échéant, pour sélectionner la plage qui doit l'être à la fin du traitement. Tout appel inutile de Select ou de Activate a pour seul effet de ralentir la vitesse d'exécution.
Merci pour ce complément. Il me manque quand même une info car mon fichier comporte 2 onglets et quand je lance ma macro de masquage, ou l'autre (j'ai ajouté une ligne qui sélectionne la première puis la deuxième feuille), le retour par la commande "ici.select" reste sur la deuxième feuille.
Il faudrait donc, soit que je mémorise quelle est la feuille de départ, soit que j'applique le masquage directement par ta méthode Range("12:12,16:16,21:21").EntireRow.Hidden = True en incluant le nom de la feuille. Je sais pas si c'est possible, il faut que je regarde.
"Michel Gaboly" a écrit dans le message de news:
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres Activate), chaque fois que c'est possible, c'est-à-dire dans l'immense majorité des cas :
Sub Masquer() Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Sub Afficher() Range("12:12,16:16,21:21").EntireRow.Hidden = False End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut servir dans d'autres circonstances ;-))
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Re,
Bien sûr que tu peux intégrer le nom de la feuille contenant les cellules
à masquer :
Sub Masquer()
Sheets("Toto").Range("12:12,16:16,21:21").EntireRow.Hidden = True
End Sub
Le principe est que si tu ne qualifies pas Range, l'instruction s'applique à
la feuille active.
Select et Activate sont à éviter le plus souvent, sauf, le cas échéant, pour
sélectionner la plage qui doit l'être à la fin du traitement. Tout appel inutile
de Select ou de Activate a pour seul effet de ralentir la vitesse d'exécution.
Merci pour ce complément.
Il me manque quand même une info car mon fichier comporte 2 onglets et quand
je lance ma macro de masquage, ou l'autre (j'ai ajouté une ligne qui
sélectionne la première puis la deuxième feuille), le retour par la commande
"ici.select" reste sur la deuxième feuille.
Il faudrait donc, soit que je mémorise quelle est la feuille de départ, soit
que j'applique le masquage directement par ta méthode
Range("12:12,16:16,21:21").EntireRow.Hidden = True en incluant le nom de la
feuille. Je sais pas si c'est possible, il faut que je regarde.
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:3FFBD01B.82A7CF36@Suppgaboly.com...
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres
Activate), chaque fois que c'est possible, c'est-à-dire
dans l'immense majorité des cas :
Sub Masquer()
Range("12:12,16:16,21:21").EntireRow.Hidden = True
End Sub
Sub Afficher()
Range("12:12,16:16,21:21").EntireRow.Hidden = False
End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut
servir dans d'autres circonstances ;-))
"garnote" <rien@absent.net> a écrit dans le message de
news:BVFKb.27889$6N3.6059@charlie.risq.qc.ca...
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell
...
...
ici.Select
...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça:
---------------------------------
Sub Masquer()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = True
ici.Select
End Sub
Sub Afficher()
Set ici = ActiveCell
Range("12:12,16:16,21:21").Select
Selection.EntireRow.Hidden = False
ici.Select
End Sub
-----------------------------------
Bonne nuit.
Bien sûr que tu peux intégrer le nom de la feuille contenant les cellules à masquer :
Sub Masquer() Sheets("Toto").Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Le principe est que si tu ne qualifies pas Range, l'instruction s'applique à la feuille active.
Select et Activate sont à éviter le plus souvent, sauf, le cas échéant, pour sélectionner la plage qui doit l'être à la fin du traitement. Tout appel inutile de Select ou de Activate a pour seul effet de ralentir la vitesse d'exécution.
Merci pour ce complément. Il me manque quand même une info car mon fichier comporte 2 onglets et quand je lance ma macro de masquage, ou l'autre (j'ai ajouté une ligne qui sélectionne la première puis la deuxième feuille), le retour par la commande "ici.select" reste sur la deuxième feuille.
Il faudrait donc, soit que je mémorise quelle est la feuille de départ, soit que j'applique le masquage directement par ta méthode Range("12:12,16:16,21:21").EntireRow.Hidden = True en incluant le nom de la feuille. Je sais pas si c'est possible, il faut que je regarde.
"Michel Gaboly" a écrit dans le message de news:
Bonjour,
C'est peut-être magique, mais pas très efficace ;-((
La bonne solution, consiste à éviter les Select (et autres Activate), chaque fois que c'est possible, c'est-à-dire dans l'immense majorité des cas :
Sub Masquer() Range("12:12,16:16,21:21").EntireRow.Hidden = True End Sub
Sub Afficher() Range("12:12,16:16,21:21").EntireRow.Hidden = False End Sub
Ceci dit, tu auras appris à te référer à une cellule, ce qui peut servir dans d'autres circonstances ;-))
"garnote" a écrit dans le message de news:BVFKb.27889$
Salut Nicolas,
Peut-être avec
Set ici¬tiveCell ... ... ici.Select ...
Serge
C'est magique, merci, ça fonctionne impeccable.
Ca donne ça: --------------------------------- Sub Masquer() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = True ici.Select End Sub
Sub Afficher() Set ici = ActiveCell Range("12:12,16:16,21:21").Select Selection.EntireRow.Hidden = False ici.Select End Sub ----------------------------------- Bonne nuit.