Insérer les coordonnées de la cellule active dans une cellule

Résolu
pierreasse43240 -  
 pierreasse43240 -
Bonjour,

Je pense que mon titre est assez clair.
Par exemple supposons que dans le cellule D4 il y ait marqué C5. J'aimerais faire en sorte que dans la cellule C5 il y soit marqué les coordonnées de la cellule active, donc "D4"
Je ne parviens pas a trouver une syntaxe avec localaddress, range et activecell. C'est pourtant simple, mais je n'y arrive pas. Help

4 réponses

  1. Kalissi Messages postés 221 Statut Membre 20
     
    Bonjour,

    Exemple type :

    Public Sub Test()
    
        Range("D5").Select
        Range("C5").Value = AdresseDeCellule(ActiveCell)
        
    End Sub
    
    Private Function AdresseDeCellule(ByVal pCible As Range) As String
    
        AdresseDeCellule = ""
        If Not (pCible Is Nothing) Then
            AdresseDeCellule = pCible.Address
        End If
        
    End Function
    


    note. L'instruction [.Address ] renvoie une adresse absolue (i.e. [ $C$5 ].

    K
    0
  2. François
     
    Bonjour Pierre,

    Je te propose ce code VBA :

    
    Option Explicit
    
    Sub Essai()
      Dim AdrX As String: AdrX = "D4"
      Range(Range(AdrX)) = AdrX
    End Sub
    
    

    AdrX est "D4" : la cellule où tu as : C5
    => en C5 : tu auras D4.

    Cordialement
     
    0
  3. pierreasse43240 Messages postés 2 Statut Membre
     
    En faite je suis parvenu à afficher un texte aux coordonnées présentes dans la cellule active, par exemple :

    Sub test()
    Range(ActiveCell) = "affichertexte"
    End Sub


    Je pensais simplement à modifier la partie de droite (car en théorie on veut toujours afficher quelque chose aux coordonnées présentes dans la cellule active. C'est juste que cette fois je veux afficher les coordonées de cette cellule active. J'avais pensé :
    Sub test()
    Range(ActiveCell) = ActiveCell.AddressLocal
    End Sub


    Le seul pb, c'est qu'il y a le symbole $ devant la ligne et la colonne afichée. J'y suis presque ...
    0
    1. François
       
      Nouveau code VBA :

      
      Sub test()
        Range(ActiveCell) = ActiveCell.Address(0, 0)
      End Sub
      
      

      François
      0