Macro pour coloriser des cellules en fonction d'un index de rubriques

Gci

XLDnaute Nouveau
Bonjour le Forum

Dans un tableau j’utilise la couleur des cellules en fonction de rubrique
(Chaque rubrique à sa couleur et une couleur ne correspond qu’à une seule rubrique).

Comme j’utilise ce tableau à longueur de journée, je connais de tête la plus grande majorité des couleurs
Quand j’ai un trou de mémoire, grâce au Forum, je dispose maintenant d’une macro pour me permettre d’identifier une couleur.

Quand je créée une nouvelle cellule, je recopie manuellement une cellule existante avec sa couleur affectée
Mais il arrive qu’une rubrique ne soit pas présente dans la feuille !

J’ai bien réalisé des macros pour coloriser ces cellules en fonction de ces rubriques
Ex macro Sub Rubrique_Guide() ou Sub Rubrique_Cartouche()
Mais cela m’oblige à faire une macro pour chaque rubrique, ce n’est donc pas très pratique !
Je suppose qu’il doit y avoir un moyen plus simple d’affecter ces couleurs directement à partir de la feuille d’index ?
Merci si quelqu’un à une idée ?
A+
 

Pièces jointes

  • Macro pour coloriser des cellules en fonction d'un index de rubrique.xlsm
    28.3 KB · Affichages: 71

ROGER2327

XLDnaute Barbatruc
Re : Macro pour coloriser des cellules en fonction d'un index de rubriques

Re...(2)


(...) je vois aussi que tu changé complétement de technique
Ce ne sont plus des TextBox mais des Images
(...)
Pas du tout ! Les trente-deux boîtes de texte sont toujours présentes.
J'ai simplement placé dessus une image transparente qui reçoit l'événement "Clic". À partir de la position du curseur à l'instant du clic, la procédure Image1_MouseUp déduit quelle est la boîte de texte sous-jacente et effectue la sélection de couleurs qui correspond à cette boîte de texte. Voyez le commentaire du code qui explique pourquoi c'est possible :​
VB:
Private Sub Image1_MouseUp(ByVal Button%, ByVal Shift%, ByVal X!, ByVal Y!)
'(Suppose que les contrôles 0 à 31 sont disposés sur deux colonnes de 16 contrôles
'et qu'ils sont jointifs, de hauteur 16 et de largeur 84, exactement couverts par le
'contrôle Image1.)
    CouleursEnCours Y \ 18 + 16 * (X \ 84)
End Sub
Si la disposition des boîtes de texte est modifiée, il faut revoir cette procédure en conséquence, ou revenir au formulaire de la version précédente.​


ℝOGER2327
#7439


Samedi 7 Gidouille 141 (Saint Bébé Toutout, évangéliste - fête Suprême Quarte)
3 Messidor An CCXXII, 5,2890h - oignon
2014-W25-6T12:41:37Z
 

Gci

XLDnaute Nouveau
Re : Macro pour coloriser des cellules en fonction d'un index de rubriques

Re,

J'ai bien fait tout cela

Installer le formulaire Gaston2 et le module PaletteROGER2327 dans le classeur.
C'est fait


Vérifier l'existence d'une plage uni-colonne destinée à alimenter le formulaire.
(Dans le classeur de démonstration, cette plage est la plage Palette du tableau Palette1 de la feuille Index1 (ou onglet "Index")).

Je l'ai fait et comme cela ne fonctionnait pas, j'ai carrément copié votre feuille "Index", j'ai donc bien
une feuille Index1 (Index)

J'ai bien aussi le formulaire Gaston2 et le module PaletteROGER2327

Cela ne fonctionne pas, mais je continue de chercher d'où peut venir l'erreur :mad:


En attendant, j'ai installé la version précédente 5-Ter
Et là cela fonctionne parfaitement :eek:
J'ai rajouté dans les TextBox "Unload Me"
Comme cela, ça me permet de sortir de l'UserForm directement juste après la mise en couleur de la cellule choisie
C'est ce que je souhaitais.

Il y a quelque chose que je ne comprends pas, je vois que dans le Gestionnaire des noms,
Le nom de votre tableau Palette1 à un icône (Petit tableau bleuté) différent des autres noms ???

A+
 

ROGER2327

XLDnaute Barbatruc
Re : Macro pour coloriser des cellules en fonction d'un index de rubriques

Re...


Je ne peux rien dire de plus sans voir votre classeur réel. J'ai porté le formulaire dans différents classeurs, en utilisant des sources de données variées (plage de tableau, plages nommées statiques ou dynamiques, plage de feuille) sans rencontrer de problème.

Je me suis même amusé à installer deux formulaires dans le même classeur (que je joins à ce message).
Chaque formulaire a sa source de données dans des onglets différents. Un tableau pour l'un, une plage nommée dynamique pour l'autre. Ça fonctionne. (J'ai juste dû modifier un peu le module PaletteROGER2327 pour tenir compte de la présence d'un formulaire supplémentaire.)

Bref, je ne peux vous proposer de solution. Désolé.

Si d'autres rencontrent les mêmes problèmes que les vôtres, peut-être vous proposeront-ils un remède ?​


ℝOGER2327
#7446


Dimanche 8 Gidouille 141 (Sainte Boudouille, bayadère - fête Suprême Tierce)
4 Messidor An CCXXII, 9,5169h - véronique
2014-W25-7T22:50:26Z
 

Pièces jointes

  • Aide au coloriage-5sexies.xlsm
    39.9 KB · Affichages: 34

ROGER2327

XLDnaute Barbatruc
Re : Macro pour coloriser des cellules en fonction d'un index de rubriques

Suite...


Après relecture, j'ai corrigé quelques bricoles dans le code et les commentaires.
J'ai ajouté deux formulaires n'utilisant pas de feuille de calcul : les données sont inscrites dans le code ou dans le formulaire. On perd en souplesse pour gagner en simplicité.​


Bonne nuit.


ℝOGER2327
#7454


Mercredi 11 Gidouille 141 (Sacre de Talou VII, empereur du Ponukélé - fête Suprême Quarte)
7 Messidor An CCXXII, 0,0653h - concombre
2014-W26-3T00:09:25Z
 

Pièces jointes

  • Aide au coloriage-6-1-1.xlsm
    58.3 KB · Affichages: 54
Dernière édition:

Gci

XLDnaute Nouveau
Re : Macro pour coloriser des cellules en fonction d'un index de rubriques

Bonsoir Roger2327 et le Forum

Me voici de retour devant mon micro après plusieurs jours de déplacement

J'ai tout repris et le problème est résolu
La version avec les Textbox fonctionnait toujours très bien
Mais maintenant j'ai mis en place la dernière version.

Je viens juste de finir de le mettre en place
Mais cela semble très bien fonctionner
Cela revient au même que la version prétendante
Mais le code est beaucoup plus concis.

Bien que je n'ai pas besoin pour l'heure de plus de couleurs et ce n'est pas prévu,
mais en cas de besoin, cela serait-il éventuellement possible de dépasser ces 32 couleurs ?

Car si je te comprends bien, il ne faut pas toucher à l'UserForm qui semble bien particulier ?

Je n'ai pas eu encore eu le temps de regarder tout dernier code, je le ferais ce soir.

Merci encore et A+
 
Dernière édition:

Discussions similaires

Réponses
26
Affichages
421

Statistiques des forums

Discussions
312 347
Messages
2 087 501
Membres
103 563
dernier inscrit
samyezzehar