Différence Target et Activecell

Résolu
Valoche01 Messages postés 45 Statut Membre -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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. Valoche01 Messages postés 45 Statut Membre
       
      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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Target.Address = A1

      Target.Activate = Vrai

      Target.Value =retourne la valeur de la cellule

      C'est simple
      0
    3. Valoche01 Messages postés 45 Statut Membre
       
      Activecell.Address = A1
      Activecell.Activate = Vrai
      Activecell.Value = retourne la valeur de la cellule

      Donc où est la différence?
      0
    4. Valoche01 Messages postés 45 Statut Membre
       
      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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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. Valoche01 Messages postés 45 Statut Membre
       
      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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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