Déterminer la première ligne disponible

Bonjour, je réalise un travail excel-vba pour mon cours de gestion de données . Il se trouve que je dois déterminer la première ligne disponible de ma worksheet à l'aide la fonction Sheets("Nom de la feuille").UsedRange.Rows.Count. Le problème est que lorsque j'utilise cette fonction il renvoie effectivement à la dernière ligne mais dès que je réencode une donnée c'est la même ligne qui est changé alors que les données doivent entrer encoder les unes à la suite de l'autre. Voici un aperçu de mon code est de ma feuille de consigne pour vous éclairer.

Merci d'avance pour vos réponses !

capture d ecran 20230106 152141 capture d ecran 20230106 152036

Bonjour,

Il y a confusion, UsedRange donne la plage utilisée, avec.Rows.Count cela donne le nombre de lignes que contient cette plage(par exemple 5)

Si la plage commence en ligne 1 alors la dernière ligne utilisée de la plage est 5 MAIS la première ligne disponible est la 6 ! Donc il faut mettre +1 à la suite de la commande.

@ bientôt

LouReeD

Si la plage commence en ligne 3 alors il faudra faire +2 (ligne 1 et 2 ne faisant pas partie de la plage utilisée) + 1 pour arriver à la première ligne disponible sous la plage utilisée.

A vérifier.

@ bientôt

LouReeD

Bonjour tout le monde,

Si ça peut aider, j'ajouterais à la réponse de LouReeD qu'il a au moins 7 façons de chercher une dernière ligne (idem pour les colonnes), tout dépend de ce que l'on veut faire :

' Sur la dernière cellule d'une colonne
    nL = wS.Cells(Rows.Count, "A").End(xlUp).Row

' A l'aide de "Find"
    nL = wS.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row

' A l'aide de la fonction SpecialCells
    nL = wS.Cells.SpecialCells(xlCellTypeLastCell).Row

' A l'aide de la fonction UsedRange
    nL = wS.UsedRange.Rows(wS.UsedRange.Rows.Count).Row

' A l'aide d'un array
    nL = wS.ListObjects("Table1").Range.Rows.Count

' A l'aide d'une plage nommée
    nL = wS.Range("MyNamedRange").Rows.Count

' A l'aide d'une plage continue 
    nL = wS.Range("A1").CurrentRegion.Rows.Count
    

J'ai essayé en rajoutant +1 et effectivement cela fonctionne. Un grand merci à vous LouReed et Optimix ( pour les formules qui me seront bien utiles )

:)

Rechercher des sujets similaires à "determiner premiere ligne disponible"