Mise en forme conditionnelle (suite)

R

remi

Guest
Bonjour,

j'avais déja posté une question dans ce sens... Celeda, que je remercie une nouvelle fois au passage, m'a conseillé de joindre un fichier avec ma demande précise...

Donc, j'ai mis exactement ce que je cherche à faire sur le fichier ci-joint.

Si l'on pouvait ne serais-ce que me mettre sur la piste.

Merci beaucoup pour l'aide.


Merci
 
C

Celeda

Guest
Bonjour,

un peu de patience remi, on travaille ..........

il ne faut pas ouvrir deux posts pour le même sujet sinon on ne peut pas suivre les réponses de Lien supprimé.

Donc voilà, j'ai récupéré CouleursNomsTi et je l'ai adaptée avec un coup de pouce du hibou du zoir!!

Si tu suis les instructions : nommer des plages - placer une formule et les macros de Ti au bon endroit.

Mais t'es sur que ton truc va être lisible ?

Celeda

ps au hibou du zoir : merci Zon
ps à mon ami Ti : soigne toi bien, mon grand.
 

Pièces jointes

  • PlageHor.zip
    12.2 KB · Affichages: 22
R

remi

Guest
Je viens de regarder le programme et c'est vraiment très bien et très pratique.

la seule chose c'est que parfois i semble y avoir des bugs.

Lorsque je mets une date et que je fais glisser la cellule pour incrémenter, les cellules prennent un fond rouge ! (comme le '0').

D'autre part, j'ai ajouter des mises en forme et ça ne 'marche pas tout de suite' il faut parfois que je lance la macro plusieurs fois pour que les nouvelles données soient prises en compte.

autre chose, j'ai pas compris comment était programmé la macro.

dont ceci :

Plages nommées Insertion Noms
Horaire =Infos!$H$1:$H$60
PlageHor =DECALER(Horaire;0;0;NBVAL(Horaire))


encore un grand merci pour le boulot

Rémi
 
C

Celeda

Guest
Bonjour,


1- ''i semble y avoir des bugs'':

je vais te donner mon analyse - et sache que je ne suis pas calée en macro du tout donc je vais essayer de faire de mon mieux en te livrant mon impression sur ce rouge :

le fait que cela passe en rouge complètement : il me semble si je me trompe pas qu'il n'y a pas de ''réinitialisaton'' du tableau dans la macro. Donc quand on efface toutes les données il devient rouge - peut-être que la macro considére que toutes les données sont à zéro - ? -

à vérifier

2- ''je mets une date'' = dans quelle plage mets-tu ta date ?
car dans ton tableau de B3 à F9, on doit rentrer des codes pas des dates ?
c'était le but de ta demande initiale.

à éclaircir de ton côté

3- ''j'ai ajouter des mises en forme" = de quelles mises en forme parles-tu
parce que là je comprends plus du tout. La macro met en forme selon ta grille de codes et de couleurs. ???
c'était le but de ta demande initiale

à éclaircir de ton côté



4- ''j'ai pas compris comment était programmé la macro" : seul mon ami Ti pourrait t'expliquer mais ce qu'il en ressort c'est qu'on part d'une plage

Horaire = qui correspond aux codes et aux couleurs que j'ai placés dans la feuille Infos

PlageHor =DECALER(Horaire;0;0;NBVAL(Horaire))
qui correspond à cette partie de la macro événementielle
Set PlageRef = Sheets("Infos").Range("PlageHor")
et dans InitialiseCouleur
Set PlageRef = Range("PlageHor")
(en fait c'est une formule qui va servir de plage de référence- là je suis pas une puriste pour les explications vba-pardon Ti)
et Ti a placé une formule qui va chercher dans la plage Horaire le type de couleurs

ces noms ont été entrés par le menu Insertion-Noms

D'autre part, sur quelle version d'excel travailles-tu, car chez moi je n'ai pas à relancer la macro, c'est une événementielle donc elle travaille seule dès que tu tapes un code dans le tableau. On a pas à l'activer. C'est pour cela que mon choix s'était porté sur la macro CouleursNomsTi.

De plus, Ti avait mis un bonus : si tu actives effectivement Initialise Couleurs, c'est dans toute ta page que tu peux taper les codes référencés et tu as la mise en forme. On a pas besoin de nommer une plage en particulier.

Bon j'espère que je n'ai pas été trop confuse dans les explications vba,


Celeda
 
R

remi

Guest
1- ''i semble y avoir des bugs'':

En fait ce que j'ai fait, dans la feuille info, colonne H , la première ligne était consacré à lamise en page du rouge. j'ai laissé cette cellule vide et mainetenant je n'ai plus le problème cité.

2- ''je mets une date'' = dans quelle plage mets-tu ta date ?

les dates sont "autour" du tableau

|lundi|Mardi| etc... peu importe, voir ma solution au 1... je sais pas pourquoi mais ça marche


3- ''j'ai ajouter des mises en forme"

je veux dire que sur la feuille "infos" dans la colonne H , j'ai ajouté des critére ( ex BBB = bleu etc... )


4- ''j'ai pas compris comment était programmé la macro" : seul mon ami Ti pourrait t'expliquer mais ce qu'il en ressort c'est qu'on part d'une plage

Horaire = qui correspond aux codes et aux couleurs que j'ai placés dans la feuille Infos

>PlageHor =DECALER(Horaire;0;0;NBVAL(Horaire))
qui correspond à cette partie de la macro événementielle
Set PlageRef = Sheets("Infos").Range("PlageHor")
et dans InitialiseCouleur
Set PlageRef = Range("PlageHor")
(en fait c'est une formule qui va servir de plage de référence- là je suis pas une puriste pour les explications vba-pardon Ti)
et Ti a placé une formule qui va chercher dans la plage Horaire le type de couleurs

- Elle est placée où cette formule ?



>D'autre part, sur quelle version d'excel travailles-tu,

Il s'agit présentement de Excel 2000.


>car chez moi je n'ai pas à relancer la macro, c'est une événementielle donc elle travaille seule dès que tu tapes un code dans le tableau.

oui ça marche aussi .


De plus, Ti avait mis un bonus : si tu actives effectivement Initialise Couleurs, c'est dans toute ta page que tu peux taper les codes référencés et tu as la mise en forme. On a pas besoin de nommer une plage en particulier.

>Bon j'espère que je n'ai pas été trop confuse dans les explications vba,

Non, mais je manque de base pour tout comprendre ... je m'y met

Une petite question subsidiaire :

je n'arrive plus à protéger les feuilles (en fait je souhaite que les plage tels que lundi, mardi etc... ne puisse pas être éffacé par erreur par les utilisateurs...


Merci encore

Rémi
 
R

remi

Guest
Autre petite question :

je souhaiterais qu'automaiquement la frappe se face en majuscule.

j'ai vu qu'on pouvait ajouter cette ligne :


Target = UCase(Target)

mais je dois faire une erreur de syntaxe car , j'ai un bug !

comment faire ?

Rémi
 
C

Celeda

Guest
Bonjour,

Voilà ou j'en suis :


1- on commence par le dernier message : Majuscule

je t'ai préparé des variantes dans les feuilles :

feuil2 : avec formule - validation données - personnalisé
=EXACT(B3;MAJUSCULE(B3))


feuil3 : avec liste de validation - autoriser liste Horaires
je me suis dit pourquoi pas aussi cette méthode - on peut choisir
par le menu déroulant d'inscrire le code et si on se plante
on est arrêté et comme tous les écrits sont en majuscule....

feuil 4 : avec macro - ton bout de code était bon mais j'ai eu
quelques difficultés car je ne me souvenais plus comment
le faire fonctionner pour une plage définie soit :

If Not Intersect(Target, Range("B3:F9")) Is Nothing Then
Target = UCase(Target)


2- message précédent point 4 : - Elle est placée où cette formule ?

je t'ai mis une copie écran dans le fichier dans la feuille 3


3- dernier point la protection : ''les plages tels que lundi,....''

là je me suis fait une prise de tête !! moi et les protections !! ouf...
bon alors voilà et j'arrête parce que cela me prend toute mon énergie et on est samedi soir !!!lol

donc j'ai récupéré Protecting de @+Thierry et j'ai essayé de l'adapter - elle est dans le module 2. Apparemment cela fonctionne bien, j'ai défini la plage et mis de côté la feuille infos qui doit être non protégée.
Tu protèges avec et tu déprotéges dans options outils.

Le fait de ma prise de tête c'est que j'essayais de mettre un password mais je pense qu'il y a des trucs à retoucher car mes essais fonctionnaient bien en ajoutant :
Protect. Password:"XLD" mais il fallait que je déprotège sur toutes les feuilles à chaque fois avec la petite boite de dialogue et je trouvais cela c........... alors j'ai laissé tomber.
Donc là je suis désolée mais je bute. Ou tu protèges avec Protecting et tu laisses l'option de déproteger par menu outils ou.......yé né sé pas.

ben voilà

Celeda
 

Pièces jointes

  • PlageHor_V1.zip
    28.3 KB · Affichages: 21

Discussions similaires

Réponses
12
Affichages
216

Statistiques des forums

Discussions
312 211
Messages
2 086 292
Membres
103 171
dernier inscrit
clemm