Excel VBA : Derniere colonne utilisée [Résolu/Fermé]

Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
-
Bonjour,

Je cherche à trouver la dernière colonne utilisée dans un onglet Excel.
L'équivalent de la commande :
lasti = Range("A65536").End(xlUp).Row

Mais pour les colonnes :)

Merci d'avance !
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
4428
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1157
32
Merci
Bonjour,

sur le même principe que ce que vous avez marqué, Range("IV1").End(xltoLeft).Column vous ramènera la dernière colonne utilisée.

Cependant, les notions A65536 et IV1 ne sont compatibles qu'avec les versions d'Excel jusqu'à 2003. Pour les Suivantes, les références seraient A1048576 et XFD1.

Du coup, voici les codes pour récupérer la dernière ligne et la dernière colonne, pour toutes les versions :

pour la dernière ligne :
derlig = Range("A" & Rows.Count).End(xlUp).Row

pour la dernière colonne
dercol = Cells(1,Cells.Columns.Count).End(xltoLeft).Column


Merci à pijaku et à son astuce.

Cordialement.

Dire « Merci » 32

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 70073 internautes nous ont dit merci ce mois-ci

Eaheru
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19 -
Tres intéressant ! j'adapte mon code de suite car je suis sous Excel2007
kikou_
Habitué ( de longue date à 2000 & 2003 ...oui je sais ça fait pléonasme) l'astuce toutes version est des plus sympathique
Messages postés
9175
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
11 novembre 2019
1659
5
Merci
bonjour

trouvé sur le forum

derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column

bonne suite
3
Merci
Bjr,
ok pour la ligne 1, mais si la colonne max est sur une autre ligne (variable)?
Messages postés
9175
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
11 novembre 2019
1659
2
Merci
bonjour

pour la ligne 1

col = Range("IV1").End(xlToLeft).Column


bonne suite
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19
0
Merci
Excellent, merci beaucoup pour la rapidité ! :)
0
Merci
Merci de la réponse indulgente
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19
0
Merci
Exact merci ! je n'avais pas vu ces dernières réponses :)
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
19
0
Merci
Bonjour,

Auriez vous une solution pour le faire sans VBA, mais directement en formule Excel svp?

D'avance merci.
Eaheru
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19 -
Non désolé, je ne travaille qu'avec VBA