Set Objet avec valeur variable

Xtian_Québec

XLDnaute Occasionnel
Bonjour le Forum, j'ai lancé un fil hier concernant "Supprimer valeur dans TextBox" mais je crois que mon problème était mal identifié. C'est pourquoi je relance un fil avec de nouvelles informations.

Voici ma question : Comment peut-on attribuer une valeur variable à un objet ?

Voici mon code et j'aimerais affecter la valeur du Range"A1" à mon objet au lieu du ComboBox (cb).

La valeur de mon Range"A1" est variable et représente le nom de mes ComboBox (cb avec des noms différents) sélectionnés en utilisant le code suivant:

Private Sub CbNom_GotFocus()
Range("A1").value = CbNom.Name
End sub


Private Sub CbPrénom_GotFocus()
Range("A1").value = CbPrénom.Name
End sub

Donc, selon le cb sélectionné, j'aimerais exécuter le code suivant:
Sub Clear()
Dim Obj(1) as Object

Set Obj(1) = cb??? (Représente la valeur en A1)

obj(1).Style = fmStyleDropDownCombo
obj(1).Clear
obj(1).Text= ""
obj(1).Style = fmStyleDropDownList
Set obj(1) = Nothing

End Sub

Lorsque j'inscrit le cb concerné directement dans mon code, ça marche !!!:p

Sub Clear()
Dim Obj(1) as Object

Set Obj(1) = cbNom

obj(1).Style = fmStyleDropDownCombo
obj(1).Clear
obj(1).Text= ""
obj(1).Style = fmStyleDropDownList
Set obj(1) = Nothing

End Sub

Lorsque j'inscrit Range("A1").value'Ça ne fonctionne pas...:(

Sub Clear()
Dim Obj(1) as Object

Set Obj(1) = Range("A1").value

obj(1).Style = fmStyleDropDownCombo
obj(1).Clear
obj(1).Text= ""
obj(1).Style = fmStyleDropDownList
Set obj(1) = Nothing

End Sub

Pourtant mon Range("A1").value = cbNom à cause de GotFocus si cbNom est sélectionné sur ma feuille...

il y a quelquechose que je ne comprend pas avec la valeur de l'objet !!!

Votre aide SVP

Merci

Xtian_Québec
 

Xtian_Québec

XLDnaute Occasionnel
Re : Set Objet avec valeur variable

RE: MichelXld et XanorK. Merci de vous pencher sur mon pb. J'ai essayé les deux solutions et voici les messages d'erreur:

solution de XanorK:
j'ai inscrit dans mon code:
Set Obj(1) = ActiveWorkbook.Sheet("rapport").Range("A1").value
RÉSULTAT:
Erreur d'exécution 438...Propriété ou méthode non gérée par cet objet

solution de MichelXld :
J'ai inscrit dans mon code
Set Obj(1) = Me.Controls(Range("A1").Value)
RÉSULTAT:
Erreur de compilation utilisation incorrecte du mot clé Me

en effet, ce que je veux c'est sélectionner un des mes ComboBox sur ma feuille et avec un bouton, effacer son contenu...

Je ne connais pas vraiment les fonction Me.Controls. Je suis vraiment embêté par ce pb...que faire ???

@+++
Xtian_Québec
 
M

Mytå

Guest
Re : Set Objet avec valeur variable

Salut Xtian, Michel, Xanork et le Forum

Ceci devrait fonctionner

Sub Clear()
Dim MyCombo As Object
Set MyCombo = ActiveSheet.OLEObjects([A1].Value).Object
With MyCombo
.Style = fmStyleDropDownCombo
'.Clear
.Text = ""
.Style = fmStyleDropDownList
End With
Set MyCombo = Nothing
End Sub

Mytå
 

Xtian_Québec

XLDnaute Occasionnel
Re : Set Objet avec valeur variable

Yahoooooo!!!! Smaaaaaaacccccckkkkkkkk !!!! Mytå

Tu fais ma journée...je savais que c'était possible mais je manquait un peu de gaz !!! Un gros gros merci !!! Je vais ajuster mes codes GotFocus avec le nom des ComboBox et lorsque je lancerai le code Clear (oopps TON code Clear), le résultat y sera...

Merci à Michel, Xanork pour le temps consacré à mon problème.

Merci,Merci,Merci,Merci,Merci,Merci,Merci,Merci,Merci,Merci,Merci,...1000 fois Mytå, comme tu peux le voir, je suis très heureux, content, sourtout soulagé. Je vais me coucher la tête reposée...

@+++
Xtian_Québec
 

Discussions similaires

Réponses
1
Affichages
267
Réponses
6
Affichages
169
Réponses
2
Affichages
303

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso