Comment utiliser target.address sous VBA - VB/VBA/VBS - Programmation
Marsh Posté le 24-04-2016 à 23:18:10
Bonjour,
Essaies comme ceci :
Code :
|
'Dans mon module :
Code :
|
'Ensuite dans mon userform je mets ce code pour colorer la cellule sur laquelle j'ai cliqué lorsque je clique sur le bouton OK.
Code :
|
Edit : il ne faut pas nommer une variable (ou une procédure) avec un mot réservé au VBA (comme Dir que j'ai renommé en DirShow)
Marsh Posté le 24-04-2016 à 18:26:52
Bonjour à tous !
Je dois effectuer un projet sous Excel/VBA mais j'ai un problème que je n'arrive pas à résoudre malgré y avoir passé un après midi entier dessus...
Mon projet est de faire une bataille navale.
J'aimerai que lorsque je clique sur une case, cela me lance une macro qui charge un userform qui lui-même va me permettre de colorer la case sélectionnée.
Pour cela j'ai utilisé Worksheet_SelectionChange (que j'ai mis dans ma feuille) et dans lequel j'ai mis "CurrentPosition=Target.Address"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("F8:O18" )) Is Nothing Then
CurrentPosition = Target.Address
Call Dir
End If
End Sub
Dans mon module :
Sub Dir()
ActiveSheet.Unprotect
Load Direction
Direction.Show
End Sub
Ensuite dans mon userform je mets ce code pour colorer la cellule sur laquelle j'ai cliqué lorsque je clique sur le bouton OK.
Private Sub OK_Click()
Range(CurrentPosition).Interior.ColorIndex = 10
Unload Direction
Direction.Hide
End Sub
Sauf que là ça me met un message d'erreur : La méthode Range de l'objet _Global a échoué... J'ai cherché sur internet comment je pourrais modifier la syntaxe pour que cela désigne la cellule que je veux modifier et non son adresse mais je n'ai pas trouvé...
Si une âme charitable pouvait m'aider...
Merci beaucoup !