Si c'est juste pour l'exemple et que normalement tu n'as pas d'ID vide, tu as plusieurs solutions:
- Tu boucles sur tes cellules (ou en passant par un tableau qui est plus rapide surtout si tu as beaucoup de valeur) par exemple sur ta colonne 3 (civilité), tant que la case est remplie, tu vas voir la prochaine ligne. quand tu sortiras de la boucle donc première cellule vide, tu auras ton numéro de ligne pour copier tes nouvelles infos. Sur un nombre de ligne très grande c'est assez lent comme méthode
- Tu passes par un
Range("C10").End(xlDown).Select[/code qui va trouver la dernière cellule remplie vers le bas depuis ton nom de colonne (attention si tu as 0, 1 enregistrement cela ne remonteras pas la dernière cellule, il y a des tests à faire)
- ou tu passes par un [code]Range("C1048576").End(xlUp).Select
qui va trouver la première cellule non vide en partant de la dernière ligne du fichier excel
- vu que tu n'as pas de ligne vide tu passes par un UsedRange qui selectionne automatiquement les cellules remplis dans ta feuille et tu le mets dans un tableau, puis tu remontes la limite supérieur de ton tableau sur les lignes pour avoir la dernière ligne remplie donc
Dim TABLEAU() As Variant
Dim toto As Integer
TABLEAU = Worksheets("Contact").UsedRange.Value
MAXLIGNE= UBound(TABLEAU, 1)
Le mieux est surement le End(XlUp) ou le UsedRange je pense, à voir ce que les autres membres du forum en pense ou propose de leurs cotés ^^
ECG