Bonjour,

Je suis donc débutant en VBA et j'utilise notamment cette fonction,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Cells(Rows.Count, 7).End(xlUp)(2)
dans une instruction if
Code : Sélectionner tout - Visualiser dans une fenêtre à part
If cellExcel1.Value = Cells(Rows.Count, 7).End(xlUp)(2) Then
pour détecter la première cellule vide dans une boucle for each
Code : Sélectionner tout - Visualiser dans une fenêtre à part
For Each cellExcel1 In wsExcel1.Range("E1:E300")
Le but est à terme d'avoir une macro générique sur un range de toute la feuille soit E1:E65536.

Je ne comprends pas vraiment cette fonction d'identification de la dernière cellule. Je l'ai adapté d'une réponse prise sur ce forum que je ne retrouve pas et qui était plus un select de la 1ere cellule vide d'une colonne.

rows.count n'est déjà pas complément claire pour moi.
rows est du type range, count ici indique le nombre de lignes contenue dans le range rows avant de rencontrer une ligne vide ?

End(xlUp)(2):
Que signifie le (2) ?
Quel est l'interaction avec ce qui précède dans l'expression ?
L'exemple du help semble indiqué que cela pointerait sur la cellule en haut du range en question soit la première cellule en terme de coordonnées de Cells(Rows.Count, 7) autrement dit cells(0,7) ?
En tout cas c'est ce qui est indiqué pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Range("B4").End(xlUp).Select
qui sélectionne la cellule top de la colonne B dans l'ensemble qui contient B4.

Malgré tout cette expression semble bien réaliser ce que j'attends.

Merci pour votre aide.