Excel - Bug dans MFC

Résolu
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 2 avril 2012 à 01:09
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 2 avril 2012 à 17:37
Bonjour,

Ce n'est pas du VBA mais il s'agit d'Excel, alors j'ai posté dans le thème VBA.
En cas de non conformité veuillez bien m'indiquer dans quel thème j'aurais dû poster. Merci

Encore un scandale dans Excel 2007 !!!

J'ai une colonne à mettre en forme qui ne peut contenir qu'une seule lettre par cellule soit A, H, P, T ou o, p, t.
Quelle que soit le type de MFC et la règle que je choisis, la différence entre capitale et minuscule ne se fait pas.

Je veux un fond jaune si la lettre est en capitale et un fond bleu si la lettre est en minuscule.
Argghh, j'obtiens toujours un fond jaune pour T et t et ce quelque soit l'ordre de la MFC dans la liste.
Or il est impératif que je garde ces lettres, il n'est pas question de changer le T ou le t par un autre signe.

Avez-vous déjà eu ce problème ? Merci.

Cheyenne

5 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 14
2 avril 2012 à 14:56
re,

non mais pas comme celaaaaa !

Pour les MFC la spécification d'une plage ne fonctionne pas ! La MFC fonctionne avec une comparaison de 2 cellules maxi ou d'une cellule et d'une valeur. On peu en suite imbriquer les conditions avec des fonctions logique ET() ou() etc.

Donc Les MFC en M6 et uniquement en M6:

1ere condition
=EXACT($M6;"t") -> Bleu

2ieme condition
=EXACT($M6;"T") -> Jaune

pour les autres cellules un copier/collage spécial(format) ou un étirement(poignée de recopie) suffira

et pour l'autre méthode même punition:

1ere condition
Code($M6)Code("t") -> Bleu

2ieme condition
Code($M6)Code("T") -> Jaune


A+
3
mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
2 avril 2012 à 06:27
bonjour

utilise les code ASCII
MyChar = Chr(65)    ' Renvoie A.
MyChar = Chr(97)    ' Renvoie a.
MyChar = Chr(62)    ' Renvoie >.
MyChar = Chr(37)    ' Renvoie %.

MyNumber = Asc("A")    ' Renvoie 65.
MyNumber = Asc("a")    ' Renvoie 97.
MyNumber = Asc("Ami")    ' Renvoie 65.



@+JP
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 14
2 avril 2012 à 10:10
Salut,

je ne crois pas que ce soit un bug car c'est dans la politique général de microsoft qui à développer des fonctions, outils etc qui ne respectent pas la casse. D'ailleurs en VBA le respect de la casse est en général en option. C'était déjà le cas pour le DOS contrairement à UNIX qui lui respect le casse par défaut.

L'idée de mjpmjp est bonne sauf que les fonction excel sont :
Car() 'renvois le code du jeux de caractère par défaut sur ton pc du caractère spécifié.
Code() 'renvois le caractère d'un code du jeux de caractère par défaut sur ton pc

Tu peux aussi utiliser la fonction Exact() qui permet de comparer 2 chaînes. cette fonction à l'avantage d'être sensible à la casse.

=EXACT(A1;"a") 'pour une comparaison en A1 de la valeur de A1

A+
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
2 avril 2012 à 14:06
Bonjour,

Merci à vous deux pour ces explications.

Malheureusement je ne valide pas les réponses car j'ai toujours le même résultat que ce soit avec CAR ou CODE.
La formule étant =(M6:M36)=CAR(116) ou CODE(116).
J'ai essayé également =EXACT(M6:M36;"t") sans succès.

La règle actuelle qui colorie sans distinction de casse est :
Texte spécifique / commençant par / t
appliquée à M6:M36 pour le bleu
et
Texte spécifique / commençant par / T
appliquée à M6:M36 pour le jaune


Bonne journée à tous,

Cheyenne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
2 avril 2012 à 17:37
Bonjour bigfish_le vrai,

C'est Ok, merci bien, tu m'as mis sur la bonne piste.
La MFC fonctionne avec une comparaison de 2 cellules maxi ou d'une cellule et d'une valeur.
Pas d'accord ! car j'ai fait une MFC pour une autre colonne qui fonctionne très bien :
(B6:B36)"D" s'appliquant à $B$6:$B$36;$Q$6:$Q$36.
Je m'en était donc inspiré pour les autres colonnes.
Ta formule fonctionne (sans recopie) à condition de ne pas mettre les $ : =CODE(M6:M36)=CODE("T") s'appliquant à = $M$6:$M$36
Aurais-tu une explication à cela ?

Je valide donc ta réponse car celle-ci m'as bien aidé car je n'ai plus de conflit de casse. Tout était dans l'astuce de la fonction CODE.

Cheyenne
0