• Initiateur de la discussion Initiateur de la discussion herve62
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

herve62

XLDnaute Barbatruc
Re
Il y a qq années j'ai fait une appli ou j'avais eu besoin de pointer à la dernière ligne comme on le fait souvent avec end(XLup) etc
Mais le Hic c'est que avec des formules préparées sur x lignes cela ne fonctionne pas
Il me semble que c'est ici ? (plus sûr) que j'avais eu l'astuce : la Fonction Getderlig
Je viens de la reprendre pour un fichier et ... cela ne marche pas ??
Si quelqu'un sait ... je suis en train de modifier les paramètres de specialcells mais rien !!
LMerci
 

Pièces jointes

Bonjour Hervé,

Ce code boucle sur la colonne A (en remontant) et donne le numéro de la ligne pour laquelle une valeur a été trouvée en colonne A
Les cellules vides et les cellules contenant des formules sont ignorées

Code:
For i = 200 To 1 Step -1
If IsNumeric(Cells(i, 1)) = True And Cells(i, 1) <> "" Then
MsgBox ("Dernière ligne " & i)
Exit Sub
End If
Next i

à+
Philippe
 
Bonjour.
J'utilise couramment ces fonctions pour trouver un objet Range représentant une plage allant d'une cellule spécifiée à la dernière renseignée de plus qu'un texte vide.
VB:
Function PlgUti(ByVal PlageDép As Range, Optional ByVal PlagExam As Range = Nothing, _
   Optional ByVal LMin As Long, Optional ByVal CMin As Long) As Range
Dim LMax As Long, CMax As Long, NbL As Long, NbC As Long
On Error GoTo RienTrouvé
If PlagExam Is Nothing Then Set PlagExam = PlageDép.Worksheet.UsedRange
LMax = PlagExam.Find("*", PlagExam.Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
CMax = PlagExam.Find("*", PlagExam.Cells(1, 1), xlValues, xlWhole, xlByColumns, xlPrevious).Column
On Error GoTo 0
NbL = LMax - PlageDép.Row + 1: If NbL < LMin Then NbL = LMin
NbC = CMax - PlageDép.Column + 1: If NbC < CMin Then NbC = CMin
If NbL < 1 Or NbC < 1 Then GoTo CEstToutVide
Set PlgUti = PlageDép.Resize(NbL, NbC)
Exit Function
RienTrouvé: Resume CEstToutVide
CEstToutVide: Set PlgUti = Nothing
End Function
Function ColUti(ByVal PlageDép As Range, Optional ByVal LMin As Long, Optional ByVal CMin As Long) As Range
Set ColUti = PlgUti(PlageDép, Intersect(PlageDép.Worksheet.UsedRange, PlageDép.EntireColumn), LMin, CMin)
End Function
 
Salut HERVE62, PHLAURENT55,
Le code donné par Hervé62 me donne dernière ligne = 20 car c'est bien sur cette ligne que la dernière formule est inscrite.
Le code donné par PhLaurent55 me donne dernière ligne = 1 car c'est bien comme le dit PhLaurent55 "Les cellules vides et les cellules contenant des formules sont ignorées".
Je suis sous XL2016.
Pour moi ton code fonctionne
En ce qui me concerne, j'ai 4 méthode qui me donne la dernière ligne
Code:
Sub DerLigDerCol()
    'Methode 1
        xDerLig1 = Range("A65000").End(xlUp).Row
        xDerCol1 = Range("IV1").End(xlToLeft).Column
    'Methode 2
        xDerLig2 = Cells(Cells.Rows.Count, 1).End(xlUp).Row
        xDerCol2 = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
    'Methode 3
        xDerLig3 = Cells.Find("*", , , , xlByRows, xlPrevious).Row
        xDerCol3 = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    'Méthode 4
        xDerLig4 = ActiveSheet.UsedRange.Rows.Count
        xDerCol4 = ActiveSheet.UsedRange.Columns.Count
End Sub
@+ Lolote83
 
Le code donné par Hervé62 me donne dernière ligne = 20 car c'est bien sur cette ligne que la dernière formule est inscrite.
alors pourquoi comme sur l'image j'ai une formule de recopie de nom jusque 1000
et que avec la fonction Getderligtexte cela me donne bien 16 ??
Je l'ai déjà re utilisé , mais là aujourd'hui , ça ne marche plus ??? c'est pas normal !!
 

Pièces jointes

  • dlig.jpg
    dlig.jpg
    113.6 KB · Affichages: 35
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
1
Affichages
2 K
DukeDevlin
D
N
Réponses
9
Affichages
2 K
nicopat
N
G
Réponses
13
Affichages
3 K
Gasparov
G
J
Réponses
3
Affichages
2 K
Monique
M
Retour