Le Select et Selection reste une cause d'instabilité du code pour plusieurs raisons dont la lenteur d’exécution.
Du moment qu'on peut appliquer une méthode à une plage de cellules, pas besoin de sélectionner d'abord cette plage et ensuite appliquer la méthode à la sélection.
Exemple d'illustration: Je veux mettre en gras la plage A1:F1 de Feuil1 avec Feuil2 est la feuille active.
Pou toi, on doit faire
1 2 3 4
| Sheets("Feuil1").Activate
Range("A1:F1").Select
Selection.Font.Bold=True
Sheets("Feuil2").Activate |
C'est à dire, tu active Feuil1, ensuite tu sélectionne A1:F1, puis tu applique un gras à la plage sélectionnée et enfin tu revient à Feuil2.
Alors qu'en adressant directement et en appliquant aussi directement la méthode à la plage, on a pas besoin de se soucier de l'activation des feuilles et de la sélection des plages
Worksheets("Feuil1").Range("A1:F1").Font.Bold=True
Tu remarque la différence bien sûr.
Pour ton code, tu commence par La première question qui se pose, de quelle sélection tu parles? et si c'est la bonne plage...
Partager