Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Dernière ligne utilisée d'une colonne et d'une ligne

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour à tous,
Je cherche à trouver la dernière ligne utilisée d'une colonne en partant pas d'une référence de colonne,
mais en partant d'une cellule cible,
exemple "B3" ou "C12", par rapport à une cellule, pas une colonne.
Et la même chose pour la dernière colonne
Merci à tous.
Nicolas
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Hello,
pour trouver la dernière ligne de la cellule B3
bas = Cells(Rows.Count, [B3].Column).End(3).Row
pour trouver la dernière colonne de la ligne 1
col = Cells(1, Columns.Count).End(1).Column
Bruno
 

vgendron

XLDnaute Barbatruc
Hello

si la question porte sur une formule directement dans la feuille excel
formule matricielle
VB:
=MAX(SI(A:A<>"";LIGNE(A:A)))

sinon, il va falloir préciser le besoin avec un fichier exemple
(je pressens une formule à base de decaler...)
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour et merci pour vos retour,
#vgendron, non c'est pas ça du tout mais merci.
#youky(BJ), ça fonctionne mais pas comme je pensais, ce serait en faites plus pour remplacer
par une variable si je peux l'expliquer ainsi.

Job75 m'a fait une fonction qui fonctionne très bien et je pensais m'en sortir facilement suite à ça.
Voici la fonction

VB:
Sub Test()
Agenda 2024, 5, "B3"
End Sub

Sub Agenda(an%, mois%, deb$)

Dim n%, P As Range, i%, sem%, j%
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Cells.Delete 'RAZ
Range(deb) = DateSerial(an, mois, 1)
n = DateSerial(an, mois + 1, 1) - Range(deb)
Set P = Range(deb).Resize(, n)
P.DataSeries
For i = 1 To n
    P(2, i) = Application.Proper(Format(P(i), "dddd"))
    P(3, i) = Format(P(i), "dd mmmm yyyy")
Next i
For i = 1 To n
    sem = Application.IsoWeekNum(P(i))
    For j = i + 1 To n
        If Application.IsoWeekNum(P(j)) <> sem Then Exit For
    Next j
    P(i).Resize(, j - i).Merge 'fusionne
    P(i).HorizontalAlignment = xlCenter 'centrage
    P(i) = "Semaine " & Format(sem, "00")
    i = j - 1
Next i

'Columns.AutoFit 'ajustement largeurs

'Cells(Rows.Count, [deb].Column).End(3).Select
End Sub

J'ai plein de chose à rajouter après, c'est pour ça je pensais pouvoir récupérer la dernière ligne et ou dernière colonne par rapport au "deb", si toutefois je voulais déplacer le point de départ

Merci encore
 
Dernière édition:

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Re,
Par rapport à la fonction
VB:
Sub Agenda(an%, mois%, deb$)
Soit "deb"= "B3" dans ce cas présent

Ce que je souhaite c'est récupérer la dernière ligne, la dernière colonne par rapport à "deb"
Comme ça pas tout à modifier si modification de mon code

Votre code proposé fonctionne pas
 

vgendron

XLDnaute Barbatruc
Hello

en VBA
Range("B3").end(xldown).row
donne la numéro de ligne de la dernière cellule NON vide sous B3
equivaut au double clic sur la bordure basse de la cellule B3

et si B3 est amené à changer

set Deb=range("B3")

Bas=deb.end(xldown).row
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…