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

erreur : objet requis pour : derlig = UsedRange.Cells(1).SpecialCells(xlLastCell).Row

3 réponses
Avatar
Alfred WALLACE
Bonjour,

je me bagarre encore avec une formule qui permettrait de trouver
la derni=E8re ligne et la derni=E8re colonne d'un tableau.

J'ai essay=E9 ceci : Cells.Find("*", , , , , xlPrevious).Select

mais, si le tableau fait A1:F1000 et que la ligne "1000" est
completement vide sauf pour la colonne "D"
alors, le select se positionnera dans la cellule D1000, d'ou une
derni=E8re ligne exacte, mais pas
la derni=E8re colonne (la "F").


Bon, maintenant, j'essaye d'utiliser ceci :
derlig =3D UsedRange.Cells(1).SpecialCells(xlLastCell).Row ainsi que
dercol =3D UsedRange.Cells(1).SpecialCells(xlLastCell).Column

en d=E9but de sub, j'ai declar=E9 :
Dim derlig As Long
Dim dercol As Long

lorsqu'il execute la ligne derlig =3D .... j'ai l'=E9rreur d'execution
424 : objet requis....

Un petit tuyau ?

Merci et bon'ap (enfin si vous partez manger.... moi non snif....)

Jos=E9

3 réponses

Avatar
Garette
Bonjour,

Cette macro permet de selectionner toute la zone d'un coup.
Il faut simplement etre sur une des cellules de la zone à selectionner.
Sub Macro1()
Range("A1").CurrentRegion.Select
End Sub

Celle-ci renvoie le N° de derniere ligne et de derniere colonne de la zone.
Il faut simplement indiquer où on démarre.

Sub Macro2()
With Range("B5").CurrentRegion
derlig = .Row + .Rows.Count - 1
dercol = .Column + .Columns.Count - 1
End With
MsgBox "Derniere ligne : " & derlig & " Derniere colonne : " & dercol
End Sub
Avatar
MichDenis
Tu adaptes le nom de la feuille et la plage sur laquelle tu veux avoir
la dernière ligne vide :

With Worksheets("Feuil3")
DerLig = .Range("A1:A10").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End With





"Alfred WALLACE" a écrit dans le message de news:

Bonjour,

je me bagarre encore avec une formule qui permettrait de trouver
la dernière ligne et la dernière colonne d'un tableau.

J'ai essayé ceci : Cells.Find("*", , , , , xlPrevious).Select

mais, si le tableau fait A1:F1000 et que la ligne "1000" est
completement vide sauf pour la colonne "D"
alors, le select se positionnera dans la cellule D1000, d'ou une
dernière ligne exacte, mais pas
la dernière colonne (la "F").


Bon, maintenant, j'essaye d'utiliser ceci :
derlig = UsedRange.Cells(1).SpecialCells(xlLastCell).Row ainsi que
dercol = UsedRange.Cells(1).SpecialCells(xlLastCell).Column

en début de sub, j'ai declaré :
Dim derlig As Long
Dim dercol As Long

lorsqu'il execute la ligne derlig = .... j'ai l'érreur d'execution
424 : objet requis....

Un petit tuyau ?

Merci et bon'ap (enfin si vous partez manger.... moi non snif....)

José
Avatar
Garette
Re,

En connaissant la ligne "reference" et la colonne "reference".
C'est a dire celles qui contiennent le + de données.
Le code suivant fonctionne aussi.
On se base sur la colonne D pour recuperer la derniere ligne et sur la ligne
1 pour récupérer la derniere colonne (celle qui contient par exemple les
intitulés)

Sub Macro1()
dercolonne = Range("A1").End(xlToRight).Column
derligne = Range("D1").End(xlDown).Row
MsgBox "Derniere ligne : " & derligne & " Derniere colonne " & dercolonne
End Sub