Excel - Bug dans MFC [Résolu]

Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
- - Dernière réponse : 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
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
3
Merci
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+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de bigfish_le vrai
Messages postés
115
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 juin 2012
0
Merci
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
Commenter la réponse de mjpmjp
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
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+
Commenter la réponse de bigfish_le vrai
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
0
Merci
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
Commenter la réponse de cs_cheyenne
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
0
Merci
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
Commenter la réponse de cs_cheyenne