Les Allergies
Alimentaires

VBA - Dernière ligne non vide [Toutes versions]


VBA - Dernière ligne non vide [Toutes versions]


Entre les versions 2003 et 2007, le nombre de lignes que peut atteindre une feuille excel a considérablement évolué. De ce fait, les codes VBA tels que :
- versions < 2007 :
Dim DernLigne As Long 
DernLigne = Range("A65536").End(xlUp).Row

- depuis 2007 :
Dim DernLigne As Long 
DernLigne = Range("A1048576").End(xlUp).Row

empêchent la portabilité de votre classeur d'une version vers l'autre.

Dans tous les cas, il convient dorénavant d'écrire :
[toutes versions]
Dim DernLigne As Long 
DernLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row

ou :
Dim DernLigne As Long 
DernLigne = Range("A" & Rows.Count).End(xlUp).Row

Vous serez également confrontés un jour au même problème en ce qui concerne les colonnes... Vous pourrez utiliser ce code (donné ici à titre d'exemple, il en existe d'autres syntaxes) :
Dim DernCol As Integer 
DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column


Les codes donnés ici, concernent la dernière ligne non vide de la colonne A (Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row , Range("A" & Rows.Count).End(xlUp).Row) et la dernière colonne dont la 1ère ligne est non vide (Cells(1, Cells.Columns.Count).End(xlToLeft).Column). Vous pouvez bien entendu les adapter en changeant l'élément identifié en gras.
Publié par pijaku - Dernière mise à jour le 12 juillet 2011 à 16:47 par pijaku
Ce document intitulé « VBA - Dernière ligne non vide [Toutes versions] » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  VBA - Dernière ligne non vide [Toutes versions]
  •  [Excel] Dernier membre non vide d'une colonne (Résolu) » Meilleure réponse: J'ai trouvé quelque chose de sympa : {=MAX(SI(ESTVIDE(plage_voulue);0;LIGNE(plage_voulue)))} Cela donne le numéro de ligne de la dernière cellule non vide de la colonne plage_voulue, c'est niquel ! Cette formule sert à trouver la valeur
  •  VBA Selection de cellules non vide. (Résolu) » Meilleure réponse: Bonjour, Essaie avec ça : Sub test(Nb_Onglet) Dim Derlig As Long Dim i As Long Dim j As Long Dim lig As Long lig = 4 For i = 1 To Nb_Onglet Derlig = Sheets(i).Range("A65536").End(xlUp).Row For j = 4 to Derlig If Sheets(i).Range("A" & j)
  •  [VBA] Détection cellule vide (Résolu) » Meilleure réponse: ' Selectionne la première cellule du tableau Range("A1").Select ' Boucle tant que pas vide Do While Not (IsEmpty(ActiveCell)) NbLigne = NbLigne + 1 Selection.Offset(1, 0).Select Loop
  •  Trouver la dernière ligne (Résolu) » Meilleure réponse: Salut, Range("A" & MaLigne).select
  •  Excel : Détection dernière ligne d'un tableau (Résolu) » Meilleure réponse: Bonsoir, Le mieux est de partir d'en bas, afin d'atteindre la dernière cellule de la colonne : Range("A65536").End(xlUp).Offset(1, 0).Select C'est aussi simple que ça ! ;) m@rina
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
[VBA] Ajouter des contrôles dynamiquement dans un Userform
Fonctions Excel Français - Anglais