Bonjour,
J'ai écrit une macro qui permet de formater des données brutes qui alimentent, sur une autre feuille, 4 tableaux croisés dynamiques. Ceci se répète trois fois dans le classeur : une feuille de données suivie d'une feuille de tabeaux, ect.
À la fin de la macro, avant de redonner le contrôle à l'utilisateur, je désire ramener la sélection à A2 dans chacune des 6 feuilles question d'uniformiser la vue. J'ai donc écrit ce code :Puis, je me suis posé la question : Select ou Activate ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ' Remise de la sélection à "A1" pour toutes les feuilles On Error Resume Next For Feuille = 1 To Worksheets.Count Sheets(Feuille).Select Range("A2").Select Next Feuille
J'ai essayé les deux et je n'ai pas vu de différence évidente. J'ai donc refilé la question à notre ami Google et je suis arrivé ici sur une discussion daté de 2005.
En gros, on disait que la question n'a plus vraiment d'importance vu que ces deux commandes (méthodes ?) sont de moins en moins employées presque, si j'ai bien compris, passées en désuétude. Et, on me suggère plutôt ce code :Je comprends qu'utiliser un boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim f As Worksheet For Each f In ThisWorkbook.Worksheets f.Activate f.Range("A1").Activate Nextest plus « moderne » que la bonne vieille boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part For Eachmais c'est la double présence de la méthode Activate qui m'étonne. Après qu'on m'ait dit qu'elle était en voie de dispartition. Voici la phrase exacte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part For NextJe suis probablement un exemple parfait d'une de ces deux exceptions...Envoyé par alsimbad
sans oublier bien sur que ces deux outils sont quasiment inutiles a une ou deux exceptions près.![]()
Pour revenir à la bouche For Each, je l'emploi souvent. Chaque fois que je pense que le code sera plus compact et efficace. Mais dans le cas que je vous présente au début, c'était pas mal kif kif.
Du moins, je le crois. Est-ce que je me trompe ? Je suis un vieux qui a appris le basic au début des années 80. J'ai travaillé fort, plus tard, pour passer de Wordbasic à VBA. Je suis ici pour apprendre.
Pierre
---
Partager