Se placer sur la première ligne vide d'un tableau

Bonjour à tous,

Je dispose d'un simple tableau. Sur la première ligne, il y a mes noms de colonne. Mes données commencent donc en A2.

Je cherche à remplir le tableau ligne par ligne, à l'aide d'un formulaire. Pour cela, je définit une variable "ligne" comme étant le numéro de la première ligne vide.

Voici le code : ligne = Sheets("Prévisions").Range("A1").End(xlDown).Row + 1

Cela fonctionne, sauf si le tableau est complètement vide. Dans ce cas il m'indique l'erreur d'exécution 6 : "Dépassement de capacité". Ce qui déjà me semble illogique, car si la cellule A2 est vide, il devrait s'arrêter en A1 et définir ligne=2.

J'ai donc essayé avec une condition, avec ce code :

If IsEmpty(Range("A2")) Then
ligne = 2
Else
ligne = Sheets("Prévisions").Range("A1").End(xlDown).Row + 1
End If

De cette manière, si la première ligne est vide, on ne s'embête pas et on définit ligne=2. Sinon, on réutilise la ligne de code précédente, qui fonctionne dans le cas où le tableau est non vide. Seulement, avec cette condition, quand j'utilise le formulaire, il me remplit systématiquement la première ligne, même si celle-ci est déjà pleine.

Auriez-vous une solution à mon problème ? Merci d'avance.

Bonjour,

Un essai ...

  ligne = Sheets("Prévisions").Cells(Rows.Count, "A").End(xlUp).Row + 1 

ric

Bonjour Ric,

ça fonctionne, merci beaucoup!

Je le laisse le sujet encore ouvert cet après-midi si jamais qqun arrive à m'expliquer mon erreur, car j'aimerais bien comprendre :)

Bonjour à tous,

Ric est parti de tout en bas pour remonter jusqu'en haut (end(xlup)) alors que vous êtes parti d'en haut pour aller en bas. Mais lorsque qu'il n'y a que du vide, on se retrouve à la dernière ligne. Donc le +1 va au-delà de la dernière ligne et dépasse la capacité du tableur.

Cdlt,

D'accord, je comprends mieux

merci à vous deux !

Rechercher des sujets similaires à "placer premiere ligne vide tableau"