sandrine_nelly
Messages postés41Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention31 janvier 2008
-
17 mars 2005 à 20:23
sandrine_nelly
Messages postés41Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention31 janvier 2008
-
18 mars 2005 à 11:37
Bonsoir à tous,
J'aimerais savoir s'il y a la possibilité d'utiliser la notion de target dans une macro ou peut on l'utliser que dans une "private sub".
Pierre_faucon
Messages postés96Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention22 mai 2007 18 mars 2005 à 08:30
Bonjour
TARGET n'est jamais qu'un objet de type Cell passé en argument à certaines procédures évènementielles ( Change et SelectionChange ).
Tu peux utiliser un objet Cellule ou Range en paramètre de tes propres procédures ou fonctions, comme par exemple:
Sub MaProc(Target as Range)
msgbox target.address
end sub
Si tu souhaites utiliser un objet Target issu d'une proc évènementielle dans tes procèdures, tu dois les utiliser au travers d'un objet Target public ou les passer en paramètres.
Par exemple, dans un module de feuille
Option Explicit
Dim MaCellule As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set MaCellule = Target
End Sub
Sub MaProc()
MsgBox MaCellule.Address
End Sub
ou bien, dans le module de la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MaProc MaCellule
End Sub
et dans un autre module ( ou le même...)
Sub MaProc(MaCellule As Range)
MsgBox MaCellule.Address
End Sub
J'ajouterai pour terminer que tu disposes des objets ActiveCell et SelectedRange qui te permettent de travailler avec respectivement la cellule active et la plage sélectionnée
sandrine_nelly
Messages postés41Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention31 janvier 2008 18 mars 2005 à 11:37
C'est ok, j'ai bien compris ce que tu m'as dit.
Merci en tout cas pour ton aide car je suis en phase d'apprentissage du VBA et j'ai pas mal de lacunes. D'autant plus que je n'ai pas de formation informatique au départ !!!