Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Set Objet avec valeur variable

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !!!😛

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
 
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
 
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å
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
256
Réponses
11
Affichages
408
Réponses
2
Affichages
527
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…