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

Dernière Ligne

14 réponses
Avatar
Jacquouille
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s*** se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

10 réponses

1 2
Avatar
Philippe.R
Bonjour Maître Jacques,
ActiveCell.SpecialCells(xlLastCell).Row
devrait t'apporter une réponse adaptée
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Jacquouille" a écrit dans le message de
news:%23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.




Avatar
JB
Bonjour,


Sub dernièreligneChamp()
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row
End Sub

http://boisgontierjacques.free.fr/pages_site/cellules.htm#DerniereLigne


JB
http://boisgontierjacques.free.fr/



On 16 nov, 15:52, "Jacquouille" wrote:
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la derni ère
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row





- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dan s
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-v ide
qui est le plus bas? (et en supposant que je ne sais pas où cette  s* **   se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.


Avatar
Jacquouille
merci à mes deux répondeurs.
Les 2 solutions me conviennent
Bonne fin de WE
Jacques

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.




Avatar
michdenis
Aucune des 2 propositions déjà reçues ne
répondent à tous les cas de figures


With Feuil1 'Adapte le nom de la feuille
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Trouve la dernière colonne occupée
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End With



"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s*** se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.
Avatar
michdenis
| merci à mes deux répondeurs.
| Les 2 solutions me conviennent

Tu n'es pas difficile !!!

;-))
Avatar
Philippe.R
Bonjour,
Pourrais tu, s'il te plait, expliquer dans quels cas les solutions proposées
ne fournissent pas la dernière ligne utilisée, quelle que soit la colonne ?
Histoire qu'un imbécile ne meurt pas idiot ?
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"michdenis" a écrit dans le message de
news:
Aucune des 2 propositions déjà reçues ne
répondent à tous les cas de figures


With Feuil1 'Adapte le nom de la feuille
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Trouve la dernière colonne occupée
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End With



"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.





Avatar
michdenis
Concernant ta ligne de code, fait le petit test suivant :

Suppose que dans un premier temps ta colonne
contient des données en A1:A19, ta ligne de code
va effectivement retourné 19
Suppose que tu effaces les 3 dernières données,
ta ligne de code continue de donnée 19 comme
dernière ligne... Est-ce normal docteur ?

En fait, c'est le même type de problème que l'utilisation
de "UsedRange". Excel continue de conserver en mémoire
l'espace de la feuille de calcul dont les données ont été
effacées. Il y a bien quelques trucs pour contenir ce
phénomène mais ta ligne de code toute seule est
problématique.

Sub Test()
x = ActiveCell.SpecialCells(xlLastCell).Row
End sub


Concernant la ligne de code de JB
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row

Pour être exact, il devrait ajouter ce paramètre :
LookIn:=xlFormulas

Il faut se souvenir (voir l'aide de la méthode "Find" de l'objet "Range")
que certains paramêtres sont conservés par excel lors de l'utilisation
de la méthode "find" en vba ou via la feuille de calcul. Supposons que
dans la dernière ligne, il y a seulement une formule qui retourne "" (rien)
si le paramètre LookIn:=xlvalues (suite à des recherches antérieurs)
et bien la méthode find ne sera pas capable de trouver la dernière ligne
qui contient une formula et retournera la ligne précédente où des cellules
affichent des "Valeurs".

Voilà pourquoi j'affirme que ces 2 méthodes ne s'appliquent pas à tous les
cas de figure.

Si ton individu est suffisamment imbécile peut être qu'il ne s'apercevra pas
qu'il est déjà mort !


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonjour,
Pourrais tu, s'il te plait, expliquer dans quels cas les solutions proposées
ne fournissent pas la dernière ligne utilisée, quelle que soit la colonne ?
Histoire qu'un imbécile ne meurt pas idiot ?
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"michdenis" a écrit dans le message de
news:
Aucune des 2 propositions déjà reçues ne
répondent à tous les cas de figures


With Feuil1 'Adapte le nom de la feuille
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Trouve la dernière colonne occupée
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End With



"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.





Avatar
Jacquouille
Voilà qui atteint les hauts sommets.
Perso, je me suis contenté d'adapter
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row
en
derL = [A1:IV65536].Find("*", , , , xlByRows, xlPrevious).Row
simplement pcq la première version détermine déjà la dernière ligne avec
D10.

Voilà, c'est plus terre à terre, mais au moins j'aurai encore le bonheur
d'apprendre......
Merci à tous
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"michdenis" a écrit dans le message de news:

Concernant ta ligne de code, fait le petit test suivant :

Suppose que dans un premier temps ta colonne
contient des données en A1:A19, ta ligne de code
va effectivement retourné 19
Suppose que tu effaces les 3 dernières données,
ta ligne de code continue de donnée 19 comme
dernière ligne... Est-ce normal docteur ?

En fait, c'est le même type de problème que l'utilisation
de "UsedRange". Excel continue de conserver en mémoire
l'espace de la feuille de calcul dont les données ont été
effacées. Il y a bien quelques trucs pour contenir ce
phénomène mais ta ligne de code toute seule est
problématique.

Sub Test()
x = ActiveCell.SpecialCells(xlLastCell).Row
End sub


Concernant la ligne de code de JB
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row

Pour être exact, il devrait ajouter ce paramètre :
LookIn:=xlFormulas

Il faut se souvenir (voir l'aide de la méthode "Find" de l'objet "Range")
que certains paramêtres sont conservés par excel lors de l'utilisation
de la méthode "find" en vba ou via la feuille de calcul. Supposons que
dans la dernière ligne, il y a seulement une formule qui retourne ""
(rien)
si le paramètre LookIn:=xlvalues (suite à des recherches antérieurs)
et bien la méthode find ne sera pas capable de trouver la dernière ligne
qui contient une formula et retournera la ligne précédente où des cellules
affichent des "Valeurs".

Voilà pourquoi j'affirme que ces 2 méthodes ne s'appliquent pas à tous les
cas de figure.

Si ton individu est suffisamment imbécile peut être qu'il ne s'apercevra
pas
qu'il est déjà mort !


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonjour,
Pourrais tu, s'il te plait, expliquer dans quels cas les solutions
proposées
ne fournissent pas la dernière ligne utilisée, quelle que soit la colonne
?
Histoire qu'un imbécile ne meurt pas idiot ?
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"michdenis" a écrit dans le message de
news:
Aucune des 2 propositions déjà reçues ne
répondent à tous les cas de figures


With Feuil1 'Adapte le nom de la feuille
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Trouve la dernière colonne occupée
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End With



"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel
non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.








Avatar
michdenis
Je ne suis pas sûr d'avoir compris ce que tu désires...

Mais si tu veux obtenir par exemple la dernère ligne
d'une plage (A:M) de cellules nonobstat toutes les
autres colonnes de la feuille, tu fais comme ceci :

With Feuil1
DerLig = .Range("A:M").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End With




"Jacquouille" a écrit dans le message de
news:
Voilà qui atteint les hauts sommets.
Perso, je me suis contenté d'adapter
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row
en
derL = [A1:IV65536].Find("*", , , , xlByRows, xlPrevious).Row
simplement pcq la première version détermine déjà la dernière ligne avec
D10.

Voilà, c'est plus terre à terre, mais au moins j'aurai encore le bonheur
d'apprendre......
Merci à tous
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"michdenis" a écrit dans le message de news:

Concernant ta ligne de code, fait le petit test suivant :

Suppose que dans un premier temps ta colonne
contient des données en A1:A19, ta ligne de code
va effectivement retourné 19
Suppose que tu effaces les 3 dernières données,
ta ligne de code continue de donnée 19 comme
dernière ligne... Est-ce normal docteur ?

En fait, c'est le même type de problème que l'utilisation
de "UsedRange". Excel continue de conserver en mémoire
l'espace de la feuille de calcul dont les données ont été
effacées. Il y a bien quelques trucs pour contenir ce
phénomène mais ta ligne de code toute seule est
problématique.

Sub Test()
x = ActiveCell.SpecialCells(xlLastCell).Row
End sub


Concernant la ligne de code de JB
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row

Pour être exact, il devrait ajouter ce paramètre :
LookIn:=xlFormulas

Il faut se souvenir (voir l'aide de la méthode "Find" de l'objet "Range")
que certains paramêtres sont conservés par excel lors de l'utilisation
de la méthode "find" en vba ou via la feuille de calcul. Supposons que
dans la dernière ligne, il y a seulement une formule qui retourne ""
(rien)
si le paramètre LookIn:=xlvalues (suite à des recherches antérieurs)
et bien la méthode find ne sera pas capable de trouver la dernière ligne
qui contient une formula et retournera la ligne précédente où des cellules
affichent des "Valeurs".

Voilà pourquoi j'affirme que ces 2 méthodes ne s'appliquent pas à tous les
cas de figure.

Si ton individu est suffisamment imbécile peut être qu'il ne s'apercevra
pas
qu'il est déjà mort !


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonjour,
Pourrais tu, s'il te plait, expliquer dans quels cas les solutions
proposées
ne fournissent pas la dernière ligne utilisée, quelle que soit la colonne
?
Histoire qu'un imbécile ne meurt pas idiot ?
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"michdenis" a écrit dans le message de
news:
Aucune des 2 propositions déjà reçues ne
répondent à tous les cas de figures


With Feuil1 'Adapte le nom de la feuille
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Trouve la dernière colonne occupée
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End With



"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel
non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.








Avatar
Philippe.R
Re,
Merci pour ces éclaircissements que j'archive, mais convenons que déterminer
la dernière ligne du UsedRange, même si ça peut aller jusqu'à 65536 sur les
versions avant 2007, ne fera pas louper la dernière ligne occupée de la
plage considérée.

Par ailleurs, il n'y a pas à dire, c'est beau la science !
Longue vie à toi.
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"michdenis" a écrit dans le message de
news:
Concernant ta ligne de code, fait le petit test suivant :

Suppose que dans un premier temps ta colonne
contient des données en A1:A19, ta ligne de code
va effectivement retourné 19
Suppose que tu effaces les 3 dernières données,
ta ligne de code continue de donnée 19 comme
dernière ligne... Est-ce normal docteur ?

En fait, c'est le même type de problème que l'utilisation
de "UsedRange". Excel continue de conserver en mémoire
l'espace de la feuille de calcul dont les données ont été
effacées. Il y a bien quelques trucs pour contenir ce
phénomène mais ta ligne de code toute seule est
problématique.

Sub Test()
x = ActiveCell.SpecialCells(xlLastCell).Row
End sub


Concernant la ligne de code de JB
derL = [B6:D10].Find("*", , , , xlByRows, xlPrevious).Row

Pour être exact, il devrait ajouter ce paramètre :
LookIn:=xlFormulas

Il faut se souvenir (voir l'aide de la méthode "Find" de l'objet "Range")
que certains paramêtres sont conservés par excel lors de l'utilisation
de la méthode "find" en vba ou via la feuille de calcul. Supposons que
dans la dernière ligne, il y a seulement une formule qui retourne ""
(rien)
si le paramètre LookIn:=xlvalues (suite à des recherches antérieurs)
et bien la méthode find ne sera pas capable de trouver la dernière ligne
qui contient une formula et retournera la ligne précédente où des cellules
affichent des "Valeurs".

Voilà pourquoi j'affirme que ces 2 méthodes ne s'appliquent pas à tous les
cas de figure.

Si ton individu est suffisamment imbécile peut être qu'il ne s'apercevra
pas
qu'il est déjà mort !


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonjour,
Pourrais tu, s'il te plait, expliquer dans quels cas les solutions
proposées
ne fournissent pas la dernière ligne utilisée, quelle que soit la colonne
?
Histoire qu'un imbécile ne meurt pas idiot ?
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"michdenis" a écrit dans le message de
news:
Aucune des 2 propositions déjà reçues ne
répondent à tous les cas de figures


With Feuil1 'Adapte le nom de la feuille
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row

'Trouve la dernière colonne occupée
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
End With



"Jacquouille" a écrit dans le message de
news: %23lNxGs$
Bonjour

Bien souvent, on cherche le numéro de ligne en se basant sur la dernière
cellule de la colonne A,
- soit DerL=Range("A65536").End(xlup).Row
- soit DerL=[A65536].End(3).Row
- et d'autres

En supposant que le tableau à analyser n'aie pas la même longueur dans
chaque colonne, comment puis-je trouver DerL par rapport à la cel
non-vide
qui est le plus bas? (et en supposant que je ne sais pas où cette s***
se
trouve)
Mille et 2 mercis et bonne fin de WE
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.








1 2