[VBA Excel]
Fermé
lilemy
Messages postés
4
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
14 juin 2007
-
14 juin 2007 à 14:15
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 - 14 juin 2007 à 15:59
Sir_DEC Messages postés 143 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 12 mai 2012 - 14 juin 2007 à 15:59
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
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
6 réponses
Sir_DEC
Messages postés
143
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
75
14 juin 2007 à 14:18
14 juin 2007 à 14:18
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.
lilemy
Messages postés
4
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
14 juin 2007
14 juin 2007 à 14:35
14 juin 2007 à 14:35
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
Sir_DEC
Messages postés
143
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
75
14 juin 2007 à 15:06
14 juin 2007 à 15:06
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 ?
lilemy
Messages postés
4
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
14 juin 2007
14 juin 2007 à 15:26
14 juin 2007 à 15:26
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
Sir_DEC
Messages postés
143
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
75
14 juin 2007 à 15:32
14 juin 2007 à 15:32
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.
lilemy
Messages postés
4
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
14 juin 2007
14 juin 2007 à 15:38
14 juin 2007 à 15:38
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
Sir_DEC
Messages postés
143
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
75
14 juin 2007 à 15:59
14 juin 2007 à 15:59
Sheets(cel).Select
Cette ligne ne peut fonctionner, cel n'étant pas une feuille mais l'adresse d'une cellule...
Peut-être qu'en expliquant ce que doit faire le bouton, je pourrais mieux t'aider, mais il faut déjà corriger cette erreur.
Cette ligne ne peut fonctionner, cel n'étant pas une feuille mais l'adresse d'une cellule...
Peut-être qu'en expliquant ce que doit faire le bouton, je pourrais mieux t'aider, mais il faut déjà corriger cette erreur.