Bon, je termine un projet d’extension pour une application Excel-VBA existante, et je me retrouve une fois de plus face au mystère des propriétés range.Rows (?) et worksheet.Rows.
Quelqu’un sait-il ce que ces propriétés font réellement et ce qu’elles sont censées nous fournir ? (Note : tout ceci s’applique probablement aussi aux propriétés *.Columns correspondantes).
Ce que j’aimerais vraiment pouvoir en faire, c’est retourner une plage de lignes, comme ceci :
SET rng = wks.Rows(iStartRow, iEndRow)
Mais je n’ai jamais réussi à le faire fonctionner, même si l’IntelliSense montre deux arguments pour cela. À la place, je dois utiliser l’une des deux ou trois autres techniques (assez bricolées).
L’aide est très peu utile (typiquement pour le VBA Office), et chercher “Rows” sur Google n’est pas très utile non plus, peu importe combien d’autres termes j’ajoute.
Les seules choses pour lesquelles j’ai pu l’utiliser sont 1) retourner une seule ligne en tant que plage (rng.Rows(i)) et 2) retourner le nombre de lignes dans une plage (rng.Rows.Count). C’est tout ? Il n’y a vraiment rien d’autre que cela puisse faire ?
Clarification : Je sais que cela retourne une plage et qu’il existe d’autres façons d’obtenir une plage de lignes. Ce que je demande spécifiquement, c’est qu’est-ce que .Rows() nous donne que nous n’avons pas déjà avec .Cells() et .Range() ? Les deux choses que je connais sont 1) un moyen plus simple de retourner une plage d’une seule ligne et 2) un moyen de compter le nombre de lignes dans une plage.
Y a-t-il autre chose ?