Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

9 réponses

1 2
Avatar
Patrick
Bonsoir,

à ce propos, quand on est dans VBE, comment se sert-on de F2 ?
Je ne vois pas parfois (souvent même) ce que je peux mettre derrière (ou
devant) un
application.
ou
cells
ou encore
count ?

Qui connait ici un site où tout ça est bien expliqué ?

Merci


"MichD" a écrit dans le message de news:
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 electronique a ete verifiee par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Bonjour
Il y a pratiquement autant de problèmes (et de solutions) que d'utilisateurs
d'Excel.
AMHA, le mieux est de bien cerner ton ou tes problèmes. Pouvoir expliquer
clairement ce que tu veux.
A partir de là, l'enregistreur de macro fait déjà beaucoup de merveilles.
Ensuite, après avoir posé quelques questions pertinentes en ces saints
lieux, tu recevras des réponses, plus ou moins pertinentes suivant la
manière dont tu te seras expliqué.
Ensuite, il y a les lectures traditionnelles, dont les célèbres XXXX pour
les Nuls.
Quand tu connais tout cela par cœur, tu appelles le forum en cas de
épin. -))

Mais, il faut te dire qu'Excel ne saura jamais deviner ce que tu veux. Tout
au plus, te suggèrera-t-il quelques mots lorsque tu seras en train d'écrire
ta ligne dans une macro.

Bon courage.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Patrick" a écrit dans le message de groupe de discussion :
me7c3c$5td$

Bonsoir,

à ce propos, quand on est dans VBE, comment se sert-on de F2 ?
Je ne vois pas parfois (souvent même) ce que je peux mettre derrière (ou
devant) un
application.
ou
cells
ou encore
count ?

Qui connait ici un site où tout ça est bien expliqué ?

Merci


"MichD" a écrit dans le message de news:
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 electronique a ete verifiee 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
Patrick
Je sais, Jacques, j'en suis plus loin que ça quand même mais ce foutu F2 ,
je n'y comprends rien :)

Je pense que toi et moi , depuis MPFE, n'avons pas progressés comme il le
faudrait :)
Il nous faudrait des cours particuliers sur certains domaines :), j'ai un
peu plus de temps, puisque pré-pensionné en recherche active depuis ce 1er
mars, merci Mr le 1er ministre ou sinistre....Charles MICHEL !!!

A présent, je rame pour (voir autre post) les ARRAY/TABLEAUX que je trouve
super mais ça ne rentre pas dans ma tête , cette manipulation de tableaux
qui va 1000 x plus vite et permet parfois de se passer de formules
gourmandes en mémoire vive :)


Patrick

"Jacquouille" a écrit dans le message de news:
me7dtr$aq3$
Bonjour
Il y a pratiquement autant de problèmes (et de solutions) que
d'utilisateurs d'Excel.
AMHA, le mieux est de bien cerner ton ou tes problèmes. Pouvoir expliquer
clairement ce que tu veux.
A partir de là, l'enregistreur de macro fait déjà beaucoup de merveilles.
Ensuite, après avoir posé quelques questions pertinentes en ces saints
lieux, tu recevras des réponses, plus ou moins pertinentes suivant la
manière dont tu te seras expliqué.
Ensuite, il y a les lectures traditionnelles, dont les célèbres XXXX pour
les Nuls.
Quand tu connais tout cela par cour, tu appelles le forum en cas de
pin. -))

Mais, il faut te dire qu'Excel ne saura jamais deviner ce que tu veux.
Tout au plus, te suggèrera-t-il quelques mots lorsque tu seras en train
d'écrire ta ligne dans une macro.

Bon courage.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Patrick" a écrit dans le message de groupe de discussion :
me7c3c$5td$

Bonsoir,

à ce propos, quand on est dans VBE, comment se sert-on de F2 ?
Je ne vois pas parfois (souvent même) ce que je peux mettre derrière (ou
devant) un
application.
ou
cells
ou encore
count ?

Qui connait ici un site où tout ça est bien expliqué ?

Merci


"MichD" a écrit dans le message de news:
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 electronique a ete verifiee 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






---
L'absence de virus dans ce courrier electronique a ete verifiee par le logiciel antivirus Avast.
http://www.avast.com
Avatar
GL
Le 16/03/2015 21:20, Jacquouille a écrit :
Bonjour

Ensuite, après avoir posé quelques questions pertinentes en ces saints
lieux, tu recevras des réponses, plus ou moins pertinentes suivant la
manière dont tu te seras expliqué.



C'est toujours comme ça avec les divinités : on pose des questions
claires, et précises, et on reçoit des réponses absconses, qu'on
a un mal de chien à interprêter !
lol.
Avatar
Patrick
mais , malheureusement, ça ne me donne pas un lien vers un site qui
expliquerait le F2 :)

quand on connait bien la matière, on peut peut être s'en passer, mais quand
on s'y intéresse, il serait bien d'en connaitre les avantages :)

c'est comme ça pour pleins de domaines ...

Patrick



"GL" a écrit dans le message de news:
5507584b$0$3161$
Le 16/03/2015 21:20, Jacquouille a écrit :
Bonjour



Ensuite, après avoir posé quelques questions pertinentes en ces saints
lieux, tu recevras des réponses, plus ou moins pertinentes suivant la
manière dont tu te seras expliqué.



C'est toujours comme ça avec les divinités : on pose des questions
claires, et précises, et on reçoit des réponses absconses, qu'on
a un mal de chien à interprêter !
lol.








---
L'absence de virus dans ce courrier electronique a ete verifiee par le logiciel antivirus Avast.
http://www.avast.com
Avatar
MichD
Bonjour,

Tu cherches à avoir des explications sur l'explorateur d'objets (F2).
Je n'ai jamais vu une telle explication soit dans un livre ou sur un
site Web. On se contente de quelques généralités qui ne sont utilisées
à personne!

Je ne vais pas me lancer dans une explication du tableau, ce serait
un chapitre de volume...Jacquouille à la retraire a le temps s'il veut!!!

Juste un petit secret pour écrire ton code :

Au lieu d'écrire :
Worksheets("Feuil1").Range("A1")
Quand tu tapes le point après ("Feuil1"), tu n'a pas de liste déroulante
affichant les propriétés et méthodes de l'objet de la feuille. Tu dois les
connaître par coeur ou aller dans l'explorateur d'objets "F2".

Si tu fais comme ceci :

Dim F as Worksheet
Set F = Worksheets("Feuil1")

F.Range("A1")
Dès que tu auras tapé le point après "F", la liste déroulante des propriétés
et méthodes s'affichera. Et le plus intéressant, dès que tu taperas le point
après ("A1"), tu as toujours accès à cette ligne déroulante. Cela évite les
fautes
d'orthographe et facilite la saisie du code.

Une autre alternative serait d'utiliser la propriété "Name" de l'objet de la
feuille.

Exemple : Dans la fenêtre du projet VBA, les feuilles s'affichent comme
ceci :
Feuil1(Feuil1)
Le premier "Feuil1" représente la propriété "Name" de l'objet Feuille
(Feuil1) représente le nom de l'onglet de la feuille.

Pour le code, tu utilises le premier et cela est l'équivalent de la méthode
précédente :
Feuil1.Range("A1").....

Si tu suis une de ces méthodes et que la liste déroulante ne s'affiche pas,
c'est qu'il
y a une erreur dans le code déjà écrit dans le module. Cette erreur peut
t'être de
différentes natures... Un exemple :

Suppose que tu as déjà une procédure qui s'appelle "Test" dans un module et
que
tu tentes d'ajouter une autre procédure du même nom... tu écris :
Sub Test()
Dim F as Worksheet
F. et tu n'auras pas de liste déroulante après avoir tapé le point.

Évidemment, tu auras un message d'erreur si tu tentes d'exécuter une des 2
macros Test... mais le fait de ne pas avoir une liste déroulante t'indique
déjà
qu'une petite erreur s'est introduire dans ton module... Dès fois c'est très
simple
comme : Range("F1) comme il manque un guillemet après F1, après le point
après Range("F1") tu n'auras pas droit à une liste déroulante des propriétés
et
méthodes....

Le reste la prochaine fois!
Avatar
Jacquouille
"MichD" a écrit dans le message de groupe de discussion :
me9p3r$mb9$
...Jacquouille à la retraire a le temps s'il veut!!! >>






Parce que tu crois qu'on a le temps?
Attends un peu et tu verras. Plus besoin d'agenda ni de calendrier Excel
pour gérer ton temps libre:
Il n'y en a plus.

Ceci dit, les tableaux, je ne sais pas les voir en peinture. -)

Mais, merci d'avoir pensé un seul instant que j'aurais pu être capable de
les expliquer. -)

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
Tu peux regarder cette page sur les tableaux (ou arrays) :
http://www.excelabo.net/excel/arrays_intro
Daniel


A présent, je rame pour (voir autre post) les ARRAY/TABLEAUX que je trouve
super mais ça ne rentre pas dans ma tête , cette manipulation de tableaux
qui va 1000 x plus vite et permet parfois de se passer de formules
gourmandes en mémoire vive :)


Patrick

Avatar
patrick
Tu n'as pas vraiment le temps Jacques ?

:)

Le 17/03/2015 19:28, Jacquouille a écrit :
"MichD" a écrit dans le message de groupe de discussion :
me9p3r$mb9$
...Jacquouille à la retraire a le temps s'il veut!!! >>






Parce que tu crois qu'on a le temps?
Attends un peu et tu verras. Plus besoin d'agenda ni de calendrier Excel
pour gérer ton temps libre:
Il n'y en a plus.

Ceci dit, les tableaux, je ne sais pas les voir en peinture. -)

Mais, merci d'avoir pensé un seul instant que j'aurais pu être capable
de les expliquer. -)

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
1 2