[VBA Excel]
lilemy
Messages postés
4
Statut
Membre
-
Sir_DEC Messages postés 143 Statut Membre -
Sir_DEC Messages postés 143 Statut Membre -
Bonjour,
J'ai un problème, j'ai trouvé une semi-solution mais sa ne peu pas vraiment fonctionner. J'explique. Le problème viens d'un Userform, en faite quand le clique dans une cellule, je garde les données dans target.address mais le truc c'est que mon userform perd cette information je l'ai donc mise dans une variable je j'ai appelé cel.
La sa fonctionne en partie. Le truc c'est à la fin de mon code j'utilise une ligne genre : Cells(Target.Row, Target.Column - 1).Address mais vu que mon Target.address se trouve dans cel sa ne fonctionne pas.
je voudrais savoir s'il est possible de faire un truc genre
Target.address = cel
J'ai un problème, j'ai trouvé une semi-solution mais sa ne peu pas vraiment fonctionner. J'explique. Le problème viens d'un Userform, en faite quand le clique dans une cellule, je garde les données dans target.address mais le truc c'est que mon userform perd cette information je l'ai donc mise dans une variable je j'ai appelé cel.
La sa fonctionne en partie. Le truc c'est à la fin de mon code j'utilise une ligne genre : Cells(Target.Row, Target.Column - 1).Address mais vu que mon Target.address se trouve dans cel sa ne fonctionne pas.
je voudrais savoir s'il est possible de faire un truc genre
Target.address = cel
A voir également:
- [VBA Excel]
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Déplacer colonne excel - Guide
6 réponses
Bonjour,
Le Target est une variable modifiée directement par Excel, tu ne peux pas (enfin je suppose à vrai dire) y toucher.
Par contre dans ton code pourquoi ne pas utiliser "Range(cel).row" et "Range(cel).column" ?
PS : Un effort en orthographe serait agréable, merci.
Le Target est une variable modifiée directement par Excel, tu ne peux pas (enfin je suppose à vrai dire) y toucher.
Par contre dans ton code pourquoi ne pas utiliser "Range(cel).row" et "Range(cel).column" ?
PS : Un effort en orthographe serait agréable, merci.
Quand j'utilise un range sur cette ligne :
Sheets(cel).Range("b4").FormulaLocal = "=prix!" & Range(cel.Row, cel.Column - 2)
En utilisant cel comme tu me l'a dit cela me fait une erreur sur le Row
Sheets(cel).Range("b4").FormulaLocal = "=prix!" & Range(cel.Row, cel.Column - 2)
En utilisant cel comme tu me l'a dit cela me fait une erreur sur le Row
Sheets(cel).Range("b4").FormulaLocal = "=prix!" & Range(cel.Row, cel.Column - 2)
Ici tu utilises deux fois cel, une fois en tant que feuille, une autre fois en tant qu'adresse, cel est une adresse, c'est tout.
Ta formule doit être :
Ca devrait fonctionner comme ça. Une variable n'a qu'un type.
Et pour affecter une cellule à une autre, ne t'embête pas avec un "FormulaLocal", il suffit de donner la feuille et la plage comme je l'ai fait ci-dessus.
En fait... Qu'y a-t-il dans la variable "cel" ? Peux-tu me copier l'affectation que tu y fais ?
Ici tu utilises deux fois cel, une fois en tant que feuille, une autre fois en tant qu'adresse, cel est une adresse, c'est tout.
Ta formule doit être :
Sheets(ta_feuil).Range("B4") = Sheets("prix").Range(cel)
Ca devrait fonctionner comme ça. Une variable n'a qu'un type.
Et pour affecter une cellule à une autre, ne t'embête pas avec un "FormulaLocal", il suffit de donner la feuille et la plage comme je l'ai fait ci-dessus.
En fait... Qu'y a-t-il dans la variable "cel" ? Peux-tu me copier l'affectation que tu y fais ?
fconfirmation.cel = Target.Address
c'est cette variable qui me pose tous les problèmes
sinon j'ai utilisé ta ligne en y ajoutant .column - 2 et il y a toujours une erreur
c'est cette variable qui me pose tous les problèmes
sinon j'ai utilisé ta ligne en y ajoutant .column - 2 et il y a toujours une erreur
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et la déclaration de ta variable ?
Qu'est-ce que fconfirmation ? Son type ?
Si tu ne donnes pas le contexte de ton problème, ni moi ni quelqu'un d'autre ne pourra t'aider.
Qu'est-ce que fconfirmation ? Son type ?
Si tu ne donnes pas le contexte de ton problème, ni moi ni quelqu'un d'autre ne pourra t'aider.
Bon alors le contexte
Quand je double clique sur une cellule je fait :
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
fconfirmation.cel = Target.Address
fconfirmation.Show
End Sub
fconfirmation étant un userform contrenant 1 label nommé "cel" et deux bouton Oui et Non
Quand je clique sur oui je lance le code suivant :
Public Sub bntoui_Click()
Me.Hide
'MsgBox "Vous avez double cliqué sur la cellule " & Target.Address
Cancel = True
If FeuilleExiste(ThisWorkbook, cel) Then
Sheets(cel).Select
Else
Sheets.Add.Name = cel
tableau
Sheets("Prix").Select
Range(cel).Select
ActiveCell.FormulaR1C1 = "='" & cel & "'!R49C7"
Sheets(cel).Range("B4") = Sheets("prix").Range(cel).Column - 2
End If
End Sub
Et c'est la que trouve les erreurs
Quand je double clique sur une cellule je fait :
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
fconfirmation.cel = Target.Address
fconfirmation.Show
End Sub
fconfirmation étant un userform contrenant 1 label nommé "cel" et deux bouton Oui et Non
Quand je clique sur oui je lance le code suivant :
Public Sub bntoui_Click()
Me.Hide
'MsgBox "Vous avez double cliqué sur la cellule " & Target.Address
Cancel = True
If FeuilleExiste(ThisWorkbook, cel) Then
Sheets(cel).Select
Else
Sheets.Add.Name = cel
tableau
Sheets("Prix").Select
Range(cel).Select
ActiveCell.FormulaR1C1 = "='" & cel & "'!R49C7"
Sheets(cel).Range("B4") = Sheets("prix").Range(cel).Column - 2
End If
End Sub
Et c'est la que trouve les erreurs