Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Récupérer les adresses de 2 cellules fusionnées

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

J'ai 2 cellules fusionnées (H5 & H6) que j'ai nommées "ZAZA".
Je voudrais récupérer leur adresse à partir de "ZAZA".
Si j'écris :
VB:
[E14] = [ZAZA].Address
j'obtiendrai en E14 : $H$5 (la 1ère cellule).
Comment s'y prendre pour pouvoir récupérer $H$6 ?
 

Magic_Doctor

XLDnaute Barbatruc
Bonsoir à tous,

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.
 
Dernière édition:

laurent950

XLDnaute Barbatruc
Bonsoir le Forum

VB:
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
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

=>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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…