Couleur de fond de cellule et MAJ automatique du classeur

bonsoir à tous

2 problèmes à traiter sans doute séparéments (je peut faire 2 sujets si 1seul dérange)

problème n°1 (sans doute le plus simple) :

pour mon classeur en cours de construction , je veut utiliser une palette de 10 couleurs , mais plutôt que d'enregistrer Dim As String sur chaque feuille est il possible de les enregistrés dans ThisWorkbook , et quel est à la méthode


problème n°2 (pour vous avoir déjà consultés je sais que vous êtes costauds) :

j'aimerais qu'à chaque modifications (valeurs , ajout / suppression de ligne / colonne / feuilles , ...) que les macros s'actualisent automatiquement sans avoir à rouvrir le classeur systématiquement ou relancer manuellement sur chaque feuilles (plus de 100 feuilles prévus avec liaisons hypertexte et calculs)


dossier ci joint


MERCI


ps : si l'un(e) d'entre vous souhaite travailler avec moi sur ce dossier en "privé" (par mail) je suis preneur car je ne suis qu'au début avec déjà de nombreuses tentatives / échecs / abandons ... Pour l'histoire , ma "première" version date de 2005 avec liens hypertextes manuel et calcul basique , puis version avec fonctions mais répétitions des calculs qui ralentissaient trop le pc , et depuis 2 ans je tente "occasionnellement" le vba

5hbbctest.xlsm (27.83 Ko)

OUBLI : actuellement je n ai rédiger des codes que sur thisworkbook et feuil4(vaches)

Bonjour,

problème n°1 (sans doute le plus simple) :

pour mon classeur en cours de construction , je veut utiliser une palette de 10 couleurs , mais plutôt que d'enregistrer Dim As String sur chaque feuille est il possible de les enregistrés dans ThisWorkbook , et quel est à la méthode

Votre fichier mériterait d'avoir plus d'info pour bien comprendre et être sûr que ce que je vous propose ne peut pas être plus simple

A. Pour problème 1, faites ceci :

1. supprimez votre code dans Thisworkbook
2. Dans l'éditeur VBA, allez dans le menu Insertion et choisir "Module"
3. Mettez cette instruction en première ligne

Const rose As String = RGB(255, 215, 235)

Rem importante : avec VBA évitez à tout prix les cellules fusionnées. exemple dans votre feuille "vaches" en A1

Autre question : Vous êtes sous Excel MAC si je ne me trompe ?

bonjour

oui je suis sous Excel Mac

j ai fait comme vous m'avez dit : insertion d'un module et copier votre code

mais j ai une Erreur d'exécution « 13 »: Incompatibilité de type

oui je suis sous Excel Mac

Vous devriez l'ajouter dans le profil de votre compte. genre Excel 365 MAC

une Erreur d'exécution « 13 »: Incompatibilité de type

A quel endroit s'arrête le code

le code s 'arrête juste avant l'instruction intérior.color

With Union(Cells(1, 1), Cells(derlignerep + 1, 3))

.Font.Size = 8

.Font.Underline = False

.Font.color = rouge

.Interior.color = rose 'fonctionne pas

.HorizontalAlignment = xlCenter

End With

je modifierais mon profil ce soir (apres le travail)

Lorsque vous postez un code veillez à utiliser les balises de code disponible en cliquant sur l'icone </> dans la barre de menu et en collant votre code dans la fenêtre. Merci de votre participation


Hum désolé j'ai posté trop vite là...
Remplacez la ligne const rose par celle ci-dessous

Public Const rose As String = 15456255

Pour le rouge vous pouvez simplement mettre ceci à la place

.Font.color = vbred

ca ne fonctionne pas non plus

je vous remet en PJ le dossier modifié

2hbbctest.xlsm (30.16 Ko)

Normal dans votre code vous déclarez dim rose as string. Vous ne pouvez pas puisque déjà déclaré avec l'instruction Public Const. Donc supprimez-la

Pour le rouge je vous ai écrit de mettre Vbred, cela vous évite de créer une variable supplémentaire et d'utiliser les fonctionnalités disponibles dans excel

mais ca fonctionne si j écrit dim rose as string , mais ne fonctionne pas si je l enlève malgré l instruction public

le rouge que j utilise n est pas le meme que celui de vbred , le mien est plus clair

Bonjour

mais ca fonctionne si j écrit dim rose as string , mais ne fonctionne pas si je l enlève malgré l instruction public

Non cela n'a pas de sens. C'est soit l'un soit l'autre. Vous ne pouvez l'avoir à deux endroit.
Si vous laissez Dim .... dans votre procédure sub repertoirevache, c'est cette déclaration qui fait fois
Donc supprimez celle-là et utilisez la variable Public
Cela fonctionne très bien chez moi sous MAC. (et aussi sous excel Windows)
Faites un test en remplaçant "String" par "LONG" dans la variable public

Je suppose que vous faites bien les tests sur votre dernier fichier joint ?

oui je fait les tests sur le dernier fichier joint

je viens de trouver mon erreur , en faite dans la procédure sub répertoire vache , je supprimait la ligne : rose = RGB au lieu de supprimer : dim rose as string ...

finalement cela fonctionne tres bien avec string dans la variable public

je suis sincèrement désolé du temps que je vous ai fait perdre pour une erreur aussi grossière

le problème 1 étant résolu avez vous une idée concernant le n° 2 ?

(par nature le paysan est chiant)

re,

je viens de trouver mon erreur , en faite dans la procédure sub répertoire vache , je supprimait la ligne : rose = RGB au lieu de supprimer : dim rose as string ...

ok. cela me rassure.

problème n°2 (pour vous avoir déjà consultés je sais que vous êtes costauds) :

j'aimerais qu'à chaque modifications (valeurs , ajout / suppression de ligne / colonne / feuilles , ...) que les macros s'actualisent automatiquement sans avoir à rouvrir le classeur systématiquement ou relancer manuellement sur chaque feuilles (plus de 100 feuilles prévus avec liaisons hypertexte et calculs)

Actualiser sans ouvrir le fichier... non mais là il faudrait que vous donniez un exemple de ce que vous voulez faire parce qu'au vu des modifications que vous mentionnez, il y a plusieurs actions à effectuer.

Déjà complétez votre fichier car je n'ai pas encore trop compris comment vous allez fonctionner et surtout le but final.

j essaye de vous faire rapidement un dossier (sans vba) pour expliquer fonctionnent et objectif de mon dossier ...

Rechercher des sujets similaires à "couleur fond maj automatique classeur"