[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
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
A voir également:

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
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.
0
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
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
0
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
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 :
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 ?
0
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
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
0

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
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.
0
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
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
0
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
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.
0