Merci pour vos réponses.
En attendant de vous lire, j'avais bidouillé un truc lourd, très lourd, mais qui marche :
VB:
Sub MesAdresses()
Dim adresse1$, adresse2$, fila&
adresse1 = [ZAZA].Address
fila = Split(adresse1, "$")(2) + 1
adresse2 = "$" & Split(adresse1, "$")(1) & "$" & fila
[A1] = adresse1
[A2] = adresse2
End Sub
Je résumerai donc ainsi :
VB:
Sub MesAdresses()
Dim adresse1$, adresse2$
adresse1 = [ZAZA].Address 'adresse de la 1ère cellule qui constitue la plage nommée "ZAZA"
adresse2 = [ZAZA].Item(2).Address 'adresse de la 2ème cellule qui constitue la plage nommée "ZAZA"
[A1] = adresse1
[A2] = adresse2
End Sub
Merci encore pour votre aide.
Bonne fin de soirée.
Sub test()
' 5 cellules fusionnées (H5 & L6) que j'ai nommées "ZAZA".
Dim TabAdress() As Variant
Dim Rgn As Range
Dim i As Range
Dim cpt As Byte: cpt = 1
Set Rgn = Range("ZAZA")
If Rgn.MergeCells = True Then
MsgBox "Il y a " & Rgn.MergeArea.Count & " Cellules Fusionnées"
ReDim TabAdress(1 To cpt)
For Each i In Rgn.MergeArea
Debug.Print i.Address
TabAdress(cpt) = i.Address(0, 0)
If cpt <> Rgn.MergeArea.Count Then cpt = cpt + 1: ReDim Preserve TabAdress(1 To cpt)
Next i
End If
Rgn(0, 1).Resize(LBound(TabAdress), UBound(TabAdress)) = TabAdress
End Sub
=>laurent950
Biaisons en attendant que la soupe refroidisse
VB:
Sub Test_II()
j = 8: Set r = Range([ZAZA].MergeArea.Address(0, 0))
For Each c In r: Cells([ZAZA].Item(1).Row - 1, j) = c.Address(0, 0): j = j + 1: Next
End Sub