nom d'un userform dans une variable
Bonjour,
J'ai userform qui enregistre des configurations de couleurs pour d'autres userform.
Avec des lignes de code, dans lesquelles le nom du formulaire appelant est écrit, aucun problème de mise à jour de la couleur de l'userform appelant après avoir quitté l'userform qui enregistre les configurations couleur.
Il serait plus "propre" de mettre le nom du formulaire appelant,déjà stocké dans une cellule excel, dans une variable. J'ai trouvé sur ce site : VBA.UserForms.add(sVariable).show (où sVariable est une variable de type string). Ce code rappelle bien mon formulaire appelant, initialement déchargé, mais sans les couleurs et sans les données (listbox vide).
J'ai cherché sur le net mais j'ai trouvé très peu de chose. Aussi je remercie tous ceux qui voudront bien m'aider
Sylvie Bastien
nom d'un userform dans une variable
Merci à tous les deux,
Philippe, j'essaye ta solution et je vous tiens informés
Sylvie Bastien
nom d'un userform dans une variable
Merci Philippe,
J'ai testé ton code qui affiche bien la boite de dialogue quand je double-clique sur le nom d'une boite de dialogue contenu dans une cellule excel.
Voici ce que j'ai dans mon application
1) label de l'userform usf_bteChoix
Code:
1 2 3 4 5 6 7
| Private Sub Label6_Click()
'---
' Intitulé appelant la boite couleur
'---
Unload usf_bteChoix
usf_bteCouleur.Show
End Sub |
2) bouton quitter de l'userform usf_bteCouleur : (userform qui possède les boutons "Ajouter", "Modifier", "Supprimer" et "Quitter")
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Private Sub CommandButton4_Click()
'---
' Bouton "QUITTER" de la boite couleur
'---
'fermeture de la boite couleur
Unload usf_bteCouleur
'témoin de boite appelante
monTexte = Worksheets("Renseignements").Cells(2, 15).Value
'affichage de la boite de dialogue selon le témoin
Select Case monTexte
Case Is = "usf_bteChoix"
usf_bteChoix.Show
Case Is = "usf_btePersonnels"
usf_btePersonnels.Show
End Select
'---
' décharger les variables utilisées
'---
Set monTexte = Nothing
End Sub |
Certes, avec select case..., les boites de dialogue sont chargées avec leurs couleurs et leurs données.
VBA.UserForms.add(monTexte).show ne semble pas passer par Private Sub UserForm_Initialize() de la boite contenue dans la variable.
Philippe et unparia, si vous avez une idée... je suis preneuse
nom d'un userform dans une variable
Unparia,
Ma variable monTexte est de type string. Elle est définie ailleurs dans l'application. Elle est initialisée, puis je travaille avec son contenu. Et à la fin, elle est déchargée afin de libérer de la mémoire.
Pourquoi trouves-tu cela bizarre ? N'est-ce pas utile ?
nom d'un userform dans une variable
Unparia
Mes variables sont toutes déclarées dans le module ThisWorkbook et elles sont précédées de Option Explicit