VBA Excel nom UF variable et affectation propriétés

Résolu/Fermé
Signaler
-
 GrandJean -
Bonjour à tous,

Dimanche pluvieux, travail sur ordi !

Petit souci...

J'ai un fichier de gestion sur lequel plusieurs utilisateurs différents peuvent travailler.
Je souhaite leur permettre de choisir une configuration de couleur pour les formulaires. Jusque là, pas de souci.

Comme il y a plusieurs formulaires, j'ai fait une routine dans un module qui se lance à l'initialisation de chaque formulaire. J'attribue le nom de formulaire à la variable nomUF et avec CALL, j'appelle ma routine. En associant la variable aux propriétés, j'ai un message d'erreur qui me dit "Qualificatif incorrect". J'ai cherché partout sur les forums sans trouver de solutions.

Voilà ma déclaration de propriété : nomUF.BackColor = RGB(250, 25, 25)

j'ai aussi essayé : UserForms.Add(nomUF).BackColor = RGB(250, 25, 25)

Sans succès !

Du coup, j'ai fait un fichier test joint pour solliciter votre aide.
En espérant avoir été précis...
Merci par avance de votre temps.

A+
GrandJean


http://cjoint.com/?0CroMJTxSAt



4 réponses

Messages postés
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 décembre 2021
3 252
bonjour

"Backcolor" doit être exprimé en hexadécimal et non en RGV

par ex. tu veux la couleur "turquoise"
le code Hex est &HFFFF00& et le RGB est 0,255,255

pour ton appli , tu "t'amuses" à choisir manuellement (backcolor-palette)le ou la couleur que tu désires et tu notes la valeur Hexa

Un petit tableau de correspondance pour les 56 couleurs "colorindex"

https://www.cjoint.com/?3CrqdGg5cwt
Michel
Bonjour Michel,

Merci pour ta réponse rapide et le petit fichier qui me sera très utile pour une autre appli.

Par contre, j'ai changé mon code RVB en hexa, et cela ne fonctionne pas non plus. J'utilise toujours RGB avec backcolor et cela passe très bien. D'ailleurs, dans mon exemple, si je remplace la variable par le nom du formulaire, cela fonctionne.

Je viens d'essayer simplement de donner une valeur à un label, suivant la même logique et la macro bloque toujours au même endroit :
nomUF est surligné et j'ai le message Qualificateur incorrect.

J'ose penser que c'est dans la déclaration qu'il y a un problème.
Ma question reste donc ouverte

A+
Jean
Messages postés
10192
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 décembre 2021
2 258
Bonjour et salutations à michel

est ce que ceci correspond?
https://www.cjoint.com/?3CrrmiDXZIq

Bonne journée
Bonsoir et merci pour cette réponse.

Cela fonctionne parfaitement !
La simplicité, toujours rechercher la simplicité...
Mais j'avoue que plus je progresse dans VBA, plus je m'aperçois de mon ignorance !

Bonne soirée
Jean