Détection de la dernière ligne utilisée

coco_lapin

XLDnaute Impliqué
Bonjour le forum.

Je n'arrive pas à détecter la dernière ligne utilisée dans un onglet Excel (correspond à la ligne de la dernière cellule utilisée).

Pourriez-vous m'aider?
 

ChTi160

XLDnaute Barbatruc
Salut coco_lapin

en vba tu as cette Procèdure qui consiste a remonter une colonne et a renvoyer le numero de la Premiere ligne non vide

ce qui donne
Code:
Sub derLigne()
Dim DerLigne As Integer
With WorkSheets('Feuil1')

DerLigne= Range('A65536').End(XlUp).row
MsgBox 'La Dernière Ligne est:'& Derligne
End With
End Sub

voir pièce Jointe [file name=RechercheLigne.zip size=6553]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RechercheLigne.zip[/file]

Message édité par: Chti160, à: 16/12/2005 19:34
 

Pièces jointes

  • RechercheLigne.zip
    6.4 KB · Affichages: 40

deudecos

XLDnaute Impliqué
Salut Coco_lapin, Chti160, le forum,

Euh... msieur du lapin, quelle est ta version d'excel ?
Parce que chez moi (Win Xp - Excel 2003) ben ca fonctionne parfaitement bien !

Bonne soiree

Olivier

Oups, je retire ce que je viens de dire, en effet, G c'est pas A
Donc si tu veux que ca fonctionne avec toutes les colonnes il faudrait pour bien faire que ton code concerne toutes les colonnes et pas seulement la colonne A.
Et j'avoue ne pas savoir comment selectionner toutes les colonnes.
Le mieux est de savoir quelles sont les colonnes concernees par le code et adapter la formule en fonction.

Message édité par: Deudecos, à: 16/12/2005 21:13
 

ChTi160

XLDnaute Barbatruc
Salut Olivier
re coco_lapin
la je me demande ce que veux dire je tape 5 dans
la cellule G27 ????????????

explique nous
tu veux quoi et comment lol

bonne Soirée
Arffffffffff je mettais dit,celle là ,elle est facile je vais répondre Eh ben non j'ai rien compris lol
 

ChTi160

XLDnaute Barbatruc
re
avec cette procèdure tu as je pense le résultat escompté lol (Merci @+Thierry)
Code:
Sub AtteindreCel()
Dim Maligne As Long
    Selection.SpecialCells(xlCellTypeLastCell).Select
    Maligne = Selection.Row
    MsgBox 'Le Numero de la Ligne est  :' & Maligne
End Sub
en plus Simple
Code:
Sub AtteindreCel()
Dim Maligne As Long
Maligne = Selection.SpecialCells(xlCellTypeLastCell).Row
    MsgBox 'Le Numero de la Ligne est  :' & Maligne
    
End Sub
et en plus plus simple
Code:
Sub AtteindreCel()
    MsgBox 'Le Numero de la Ligne est  :' & Selection.SpecialCells(xlCellTypeLastCell).Row
    
End Sub
arffff Si j'ai compris
biensur on colle l'une de ces procèdures au bouton Lol

Message édité par: Chti160, à: 16/12/2005 21:49
 

Gael

XLDnaute Barbatruc
Bonsoir Coco_lapin, bonsoir jean-marie, bonsoir olivier, bonsoir Didier,

Il y a aussi une solution avec la macro complémentaire MOREFUN qui comprend une fonction DERCELL qui va justement chercher les valeurs de la dernière ligne utilisée d'une plage de colonnes. Exemples de formules extraits de l'aide:

=DERCELL(C:C) : valeur de la dernière cellule non vide de la colonne C.

=LIGNE(DERCELL(A:A)) : numéro de ligne de la dernière cellule non vide de la colonne A.

=DECALER(DERCELL(A:A);-5;0) : cellule se situant deux lignes au-dessus de la dernière cellule en A:A.

=SOMME(A50:DERCELL(E:E)) : somme de la plage allant de A50 à la dernière cellule de la colonne E.

{=DERCELL(A:J)} : matrice horizontale des valeurs de la dernière ligne non vide des colonnes A à J.

=MOYENNE(DERCELL(B:H)) : moyenne des cellules de la dernière ligne non vide de B:H.

ci-joint le lien:

Adresse du téléchargement :
Ce lien n'existe plus
nom de la macro: morefun.xll

@+

Gael
 

coco_lapin

XLDnaute Impliqué
Bonjour ChTi160, deudecos, myDearFriend!, Gael et le forum.
Merci pour vos solutions, je les ai essayées et globalement cela résoud mon problème.

Oui ChTi160, ta formulation de la question est plus précise que la mienne: 'Je veux le numéro de la dernière ligne où il y a une valeur'
Ton code fonctionne mais ne donne pas le bon résultat dans ce cas particulier: tu saisis quelquechose en cellule D5, ta macro trouve 5, c'est OK, puis tu saisis dans la cellule G15 et tu supprimes tout de suite le contenu de cette cellule, ta macro trouve 15 alors que G15 est vide. J'ai l'impression qu'Excel mémorise des actions. J'utilise Excel 97. J'ai essayé de modifier ton code en regardant dans l'aide mais je ne suis pas arrivé à solutionner ce 'bug'. Merci encore pour ton aide.
PS: je suis un 'bleu' sur le forum que veut dire 'lol' que tu as employé?

myDearFriend! ton code est adapté à la situation. Par contre si je peins une cellule (en supposant que c'est celle qui est le plus vers le bas), ta macro renvoie alors le numéro de ligne de cette cellule (même si elle est vide). J'ai essayé de solutionner via l'aide excel mais sans résultat. Merci pour ton code.

Merci Gael pour ta recherche et le nom du site qui me parait interessant. J'ai compris que c'était une fonction. Je suis aussi un 'bleu' sur internet. Comment pourrais-je faire pour avoir le code de cette fonction? Je n'y suis pas arrivé. Y-a-t-il des risques si je télécharges cette fonction? J'ai pas osé.

Merci deudecos de t'être penché sur mon problème. A la fin de ton message tu as corrigé ce que tu as dis au début de celui-ci. Cela veut-dire que l'on peut reprendre un message envoyé? Comment fait-on?

Une bonne journée à tous.
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 902
Membres
103 982
dernier inscrit
krakencolas