Objet Range Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
S
Skrax
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 10 avril 2018
Version d'Excel : 2013

Message par Skrax » 7 mai 2018, 15:24

Bonjour à tous !

Voici le code que je souhaiterai faire fonctionner en vain pour le moment :

dernligne = Range("J" & Rows.Count).End(xlUp).Row
derncol = Sheets("Dynamique PEA").Cells.Find("*", , , , xlByColumns, xlPrevious).Column

Range("F11:" & derncol & dernligne).Select

Merci par avance.
S
Skrax
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 10 avril 2018
Version d'Excel : 2013

Message par Skrax » 7 mai 2018, 15:51

Je pense que le problème vient du fait que derncol est un chiffre
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'343
Appréciations reçues : 158
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 7 mai 2018, 16:12

bonjour,
En principe on essaie de ne pas sélectionner hein !
M'enfin...
Essaie :
Range(Cells(11, 6), Cells(dernligne, derncol)).Select
A+
S
Skrax
Membre habitué
Membre habitué
Messages : 69
Inscrit le : 10 avril 2018
Version d'Excel : 2013

Message par Skrax » 7 mai 2018, 16:49

Merci beaucoup mais pourquoi ne doit on pas selectionner ?
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'343
Appréciations reçues : 158
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 7 mai 2018, 17:09

Est-ce que tu sélectionne ta portière pour rentrer dans ta voiture ?
En VBA c'est pareil. La sélection n'est qu'un résidu d'enregistrement quand tu utilises l'enregistreur de macro, mais en soit ça ne sert à rien. (sauf dans de très rares cas très particuliers)
Sélectionner des cellules n'a qu'un seul intéret : Perdre ton temps à attendre que VBA ait fini de parcourir toutes ces lignes inutiles. Les Select...Selection sont (entre autre) un gros facteur de ralentissement dans les macros : C'est une des premières questions que devraient se poser les nouveaux arrivants sur ce forum : Est-qu'il reste des trucs comme ça dans mes macros ? Malheureusement c'est une des rares questions qu'on ne nous pose jamais...

Si tu sélectionnes des cellules... ou autre chose (mon observation est aussi valable pour d'autres objets...) c'est que "in fine" tu veux leur faire quelque chose à ces cellules...
Dans ce cas au lieu d'écrire :
Range(Cells(11, 6), Cells(dernligne, derncol)).Select
Selection.Interior.ColorIndex = 3
Tu écriras :
Range(Cells(11, 6), Cells(dernligne, derncol)).Interior.ColorIndex = 3
C'est aussi vite fait... Et en plus ça ne modifie pas ta sélection en cours !
Si la cellule A1 était sélectionnée, ben elle reste sélectionnée... Ça t'évite encore une ligne pour rien.

Vala...
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message