variable = target?

kllmoon

XLDnaute Occasionnel
Bonjour le forum,

lorsque je double clique sur une cellule, mon userform apparait grâce à une formule que j'ai trouvé sur le forum :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("G3:G2000")) Is Nothing Then UserForm1.Show 1
   
End Sub

Tout fonctionne mis à part un petit détail, j'ai besoin d'assigner la valeur de la cellule sur laquelle je double clique à une variable pour utiliser dans mon userform mais je bloque à savoir comment. J'avais pensé à variable = target mais ça ne donne rien. Si quelqu'un à une idées, je suis preneur!

Par exemple, si je clique en G20, mon userform apparait. Par contre, mon userform doit ensuite inscrire sa valeur en G20 donc, au double clique une variable doit être G20.

Merci d'avance pour votre aide habituelle.
 

Pierrot93

XLDnaute Barbatruc
Re : variable = target?

Bonjour,

modifie peut être ta procédure ainsi :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("G3:G2000")) Is Nothing Then
        Cancel = True
        mavariable = Target.Value
        UserForm1.Show 1
    End If
End Sub

et dans un module standard, sur la 1ère ligne, tu déclares une variable public, rajoute éventuellement le type de donnée, fonction du type de valeur stockée :

Code:
Public mavaleur

bonne fin d'après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : variable = target?

Re

comprends pas trop, chez moi renvoie bien la valeur de la cellule double cliquez... s'il y a quelque chose à l'intérieur bien sur...

ton code est bien placée dans le module de la feuille concernée par le double click ?

@+
 

kllmoon

XLDnaute Occasionnel
Re : variable = target?

Ah je vois, je crois m'être mal expliqué. Mes cellules sont vides et je ne veux pas la valeur inscrite dans la cellule mais la cellule elle-même. Par exemple, si je clique G20, je veux que mavariable soit G20 pour qu'ensuite, mon userform inscrive la donnée entrée en G20.

Maintenant avec target.Row ça fonctionne car je fais "G" & mavariable mais j'ai un petit pépin car je ne comprends pas comment faire pour que la valeur assignée dans la première macro soit utilisable dans d'autres macros.

P.S. ton code fonctionne effectivement pour renvoyer la valeur inscrite dans la cellule.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 007
Membres
104 003
dernier inscrit
adyady__