Différence Target et Activecell

Résolu
Bonjour,

J'ai une question toute simple. Je ne vois pas trop la différence entre ces 2 fonctions lorsque l'on passe par un "sub (target as range)". Quel est l'avantage du target?

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

If Target.Address = Range("A1").Address Then
MsgBox ("solution target")
End If

If ActiveCell.Address = Range("A2").Address Then
MsgBox ("solution activecell")
End If

End Sub


Merci beaucoup !

3 réponses

  1. Contributeur
    Bonjour,

    Regarde ce que fait ce code, tu auras tout de suite compris:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Target.Address = Range("A1").Address Then
            MsgBox Target.Address
        End If
        
        If ActiveCell.Address = Range("A1").Address Then
            MsgBox Target.Activate
        End If
    End Sub
    

    1
    1. Merci pour ta réponse, mais j'ai beau essayer ta macro, je ne vois pas du tout ce qu'elle fait... Peux-tu m'expliquer stp?
      0
    2. Contributeur
      Target.Address = A1

      Target.Activate = Vrai

      Target.Value =retourne la valeur de la cellule

      C'est simple
      0
    3. Activecell.Address = A1
      Activecell.Activate = Vrai
      Activecell.Value = retourne la valeur de la cellule

      Donc où est la différence?
      0
    4. Alors excuse-moi j'avais mis ton code dans thisworkbook et non dans une feuille.
      J'ai bien compris ton code. Mais je te propose le même code avec activecell et ça donne la même chose. Donc il n'y a aucune différence si je ne me trompe pas...

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)

      If ActiveCell.Address = Range("A1").Address Then
      MsgBox ActiveCell.Address
      End If

      If ActiveCell.Address = Range("A1").Address Then
      MsgBox ActiveCell.Activate
      End If

      End Sub
      0
  2. Bonjour,

    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

    Vous avez des variables deja defines autant les utilisees et suivant le contexte cela vous facilitera la programmation
    0
    1. Ok donc j'imagine que ce n'est que pour simplifier le code et qu'il n'y a aucune autre différence... Merci
      0
  3. Contributeur
    Bonjour,

    si, il y a d'autres différences.
    Activecell est une cellule unique, Target peut être une plage, une union de de cellules ou de plages, etc.

    eric
    0