Der des der

19 réponses
Avatar
Jacquouille
Bonjour,

J'ai retenu plusieurs formules (provenant de ce forum) pour obtenir la
dernière ligne utilisée.
Parmi celles-ci:

derL= Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

Qui semblent identiques, mais ....
A quoi sert le 2° Cells dans la deuxième ligne, svp ?

Un grand merci et bonne journée,
Jacques


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com

10 réponses

1 2
Avatar
DanielCo
Bonjour,
Tel quel, c'est équivalent, le second "Cells" est implicite. Mais tu
pourrais, dans un contexte différent, trouver la dernière ligne de la
plage A1:A10 :
derL = Cells([A1:A10].Rows.Count, 1).End(xlUp).Row
Cordialement.
Daniel


Bonjour,

J'ai retenu plusieurs formules (provenant de ce forum) pour obtenir la
dernière ligne utilisée.
Parmi celles-ci:

derL= Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

Qui semblent identiques, mais ....
A quoi sert le 2° Cells dans la deuxième ligne, svp ?

Un grand merci et bonne journée,
Jacques


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Avatar
DanielCo
Note qu'il s'agit de la dernière ligne visible.
Daniel


Bonjour,
Tel quel, c'est équivalent, le second "Cells" est implicite. Mais tu
pourrais, dans un contexte différent, trouver la dernière ligne de la plage
A1:A10 :
derL = Cells([A1:A10].Rows.Count, 1).End(xlUp).Row
Cordialement.
Daniel


Bonjour,

J'ai retenu plusieurs formules (provenant de ce forum) pour obtenir la
dernière ligne utilisée.
Parmi celles-ci:

derL= Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

Qui semblent identiques, mais ....
A quoi sert le 2° Cells dans la deuxième ligne, svp ?

Un grand merci et bonne journée,
Jacques


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Bonjour Daniel

Dans la syntaxe, j'ai cru comprendre que le 1 (après count) disait à Exel de
compter dans la colonne 1.
A partir du moment où tu définis la plage ("a1:a10"), est-il nécessaire
d'encore mettre ce 1 ?
Merci pour ton avis

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"DanielCo" a écrit dans le message de groupe de discussion :
mdmroi$qt3$

Bonjour,
Tel quel, c'est équivalent, le second "Cells" est implicite. Mais tu
pourrais, dans un contexte différent, trouver la dernière ligne de la
plage A1:A10 :
derL = Cells([A1:A10].Rows.Count, 1).End(xlUp).Row
Cordialement.
Daniel


Bonjour,

J'ai retenu plusieurs formules (provenant de ce forum) pour obtenir la
dernière ligne utilisée.
Parmi celles-ci:

derL= Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

Qui semblent identiques, mais ....
A quoi sert le 2° Cells dans la deuxième ligne, svp ?

Un grand merci et bonne journée,
Jacques


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
DanielCo
Suppose que tu aies deux plages en colonne A :
1. A1:A10 avec des trous
2. A12:A100
et que tu veuilles trouver la dernière cellule saisie de la première
plage. Tu utilises :
derL = Cells([A1:A10].Rows.Count, 1).End(xlUp).Row
(si tu n'avais pas de trous, tu pourrais aussi utiliser :
derL = Cells(1, 1).End(xlDown).Row
).
Daniel


Bonjour Daniel

Dans la syntaxe, j'ai cru comprendre que le 1 (après count) disait à Exel de
compter dans la colonne 1.
A partir du moment où tu définis la plage ("a1:a10"), est-il nécessaire
d'encore mettre ce 1 ?
Merci pour ton avis

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"DanielCo" a écrit dans le message de groupe de discussion :
mdmroi$qt3$

Bonjour,
Tel quel, c'est équivalent, le second "Cells" est implicite. Mais tu
pourrais, dans un contexte différent, trouver la dernière ligne de la
plage A1:A10 :
derL = Cells([A1:A10].Rows.Count, 1).End(xlUp).Row
Cordialement.
Daniel


Bonjour,

J'ai retenu plusieurs formules (provenant de ce forum) pour obtenir la
dernière ligne utilisée.
Parmi celles-ci:

derL= Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

Qui semblent identiques, mais ....
A quoi sert le 2° Cells dans la deuxième ligne, svp ?

Un grand merci et bonne journée,
Jacques


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."


---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Avatar
DanielCo
Dans l'exemple,
derL = [A10].End(xlUp).Row
serait plus simple.
Daniel


Suppose que tu aies deux plages en colonne A :
1. A1:A10 avec des trous
2. A12:A100
et que tu veuilles trouver la dernière cellule saisie de la première plage.
Tu utilises :
derL = Cells([A1:A10].Rows.Count, 1).End(xlUp).Row
(si tu n'avais pas de trous, tu pourrais aussi utiliser :
derL = Cells(1, 1).End(xlDown).Row
).
Daniel
Avatar
GL
Le 10/03/2015 15:14, Jacquouille a écrit :
Bonjour Daniel

Dans la syntaxe, j'ai cru comprendre que le 1 (après count) disait à
Exel de compter dans la colonne 1.
A partir du moment où tu définis la plage ("a1:a10"), est-il nécessaire
d'encore mettre ce 1 ?
Merci pour ton avis

Jacquouille



Non, et même s'il y a plusieurs colonnes: par défaut c'est 1.

Sinon, de mémoire c'est: der den dem des plutôt que der des der...
Avatar
Jacquouille
Bonjour
Je ne comprends rien à votre der nière ligne.
J'ai fait le test suivant:
remplir A1:A10 et B1:B5.
En posant le curseur n'importe où, sauf en col A et B, j'ai appliqué les
formules:
derL= Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

Les deux me renvoie bien A10 via un msgbox.
Si je mets un 2 à la place du 1 dans la formule, il me renvoie 5. Donc, pour
moi, ce chiffre indique la colonne dans laquelle il doit me renvoyer l'info
...

Pour info, mon titre Der des der a été le leithmotif des poilus. Ils ont
juré que c'était la der-nière des der-nières guerres......d'où la der des
der.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"GL" a écrit dans le message de groupe de discussion :
54ff00a0$0$3367$

Le 10/03/2015 15:14, Jacquouille a écrit :
Bonjour Daniel

Dans la syntaxe, j'ai cru comprendre que le 1 (après count) disait à
Exel de compter dans la colonne 1.
A partir du moment où tu définis la plage ("a1:a10"), est-il nécessaire
d'encore mettre ce 1 ?
Merci pour ton avis

Jacquouille



Non, et même s'il y a plusieurs colonnes: par défaut c'est 1.

Sinon, de mémoire c'est: der den dem des plutôt que der des der...


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
GL
Le 10/03/2015 18:06, Jacquouille a écrit :
Bonjour
Je ne comprends rien à votre der nière ligne.



Ce sont les déclinaisons allemandes : der/den/dem/des
C'est comme cela que j'avais d'abord lu votre titre.

Pour info, mon titre Der des der a été le leithmotif des poilus. Ils ont
juré que c'était la der-nière des der-nières guerres......d'où la der
des der.



Rapport aux schleuh donc... (désolé, mais j'ai toujours du mal avec
eux !)

Bonne journée.
Avatar
MichD
Bonjour,

'---------------------------------------
Sub test()

derL = Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

End Sub
'---------------------------------------

Si ce code est écrit dans le module d'une feuille, les deux syntaxes font la
même chose.
Dans l'expression Cells.Rows de la deuxième ligne de code
"derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row", Cells n'est
pas nécessaire. La raison, c'est que Cells et Rows appartiennent
à l'objet "Feuille"

Dans un module, lorsque tu emploies "Cells", cette expression
est une PROPRIÉTÉ de la feuille, quant à lui, Rows est un OBJET de
la feuille.

Quant du écris "Feuil1.Cells" Cells est une propriété qui renvoie
un objet "Range" c'est-à-dire toutes les cellules de la feuille.

Quand tu écris "Feuil1.Rows" Rows retourne un objet "Range" qui
représente l'ensemble des lignes de la feuille donc toutes les
cellules de la feuille.

Quand tu écris "Feuil1.Cells.Rows" , Cells est une propriété qui retourne
un "RANGE" qui représente l'ensemble des cellules de la feuille et
ROWS spécifie que CE RANGE est représenté (scindé) par les lignes de
toute la feuille.

Dans les 2 cas, que tu aies Rows.Count ou Cellls.Rows.Count, tu arrives à
à même chose qui est le nombre total de lignes dans la feuille de calcul.

En conclusion, l'expression "Cells" dans "Cells.Rows.count" n'apporte
rien de plus que Rows.Count.
Avatar
Jacquouille
Ben voilà, ça c'est de l'explication.
Tu ne serais pas prof, par hasard ?
Mille mercis et bonne soirée
Jacques.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
mdnk5m$vfv$

Bonjour,

'---------------------------------------
Sub test()

derL = Cells(Rows.Count, 1).End(xlUp).Row
derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row

End Sub
'---------------------------------------

Si ce code est écrit dans le module d'une feuille, les deux syntaxes font la
même chose.
Dans l'expression Cells.Rows de la deuxième ligne de code
"derL = Cells(Cells.Rows.Count, 1).End(xlUp).Row", Cells n'est
pas nécessaire. La raison, c'est que Cells et Rows appartiennent
à l'objet "Feuille"

Dans un module, lorsque tu emploies "Cells", cette expression
est une PROPRIÉTÉ de la feuille, quant à lui, Rows est un OBJET de
la feuille.

Quant du écris "Feuil1.Cells" Cells est une propriété qui renvoie
un objet "Range" c'est-à-dire toutes les cellules de la feuille.

Quand tu écris "Feuil1.Rows" Rows retourne un objet "Range" qui
représente l'ensemble des lignes de la feuille donc toutes les
cellules de la feuille.

Quand tu écris "Feuil1.Cells.Rows" , Cells est une propriété qui retourne
un "RANGE" qui représente l'ensemble des cellules de la feuille et
ROWS spécifie que CE RANGE est représenté (scindé) par les lignes de
toute la feuille.

Dans les 2 cas, que tu aies Rows.Count ou Cellls.Rows.Count, tu arrives à
à même chose qui est le nombre total de lignes dans la feuille de calcul.

En conclusion, l'expression "Cells" dans "Cells.Rows.count" n'apporte
rien de plus que Rows.Count.


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
1 2