Hello,

je ne crois pas avoir vu d'astuce à ce sujet, donc je me lance.

L'immense majorité des développeurs VBA utilise la ligne de code suivante pour récupérer le numéro de la dernière ligne dans une colonne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
k = ThisWorkbook.Worksheets("mafeuille").Range("A65536").End(xlUp).Row
Malheureusement, je viens de constater que dans le cas de cellules fusionnées, seule la ligne de la cellule "dominante" est retourné par cette méthode. Or, il peut être dommageable de ne pas prendre en considération les autres lignes manquantes. Aussi j'utilise cette étape intermédiaire pour connaître la dimension de la plage fusionnée, ce qui donne un code comme celui-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Dim k As Integer
Dim MergedInfo
'formule classique
k = ThisWorkbook.Worksheets("mafeuille").Range("A65536").End(xlUp).Row
'on teste juste si la cellule est une cellule fusionnée avec MergeCells
If ThisWorkbook.Worksheets("mafeuille").Range("A" & k).MergeCells Then
'on passe alors par une variable intermédiaire
    MergedInfo = xlwbk.Worksheets("template").Range("A" & k).MergeArea
'on récupère la dimension colonne avec Ubound(,1)-1 qui retourne le nombre de cellules
    k = UBound(MergedInfo , 1)-1 + k
End If
'on peut dès lors utiliser la variable k avec la bonne valeur de ligne