Excel - Bug dans MFC [Résolu]

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

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
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+
Messages postés
115
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 juin 2012

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
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
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+
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
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
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
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