XL 2019 Mettre en couleur des cellules spécifiques

Dominique Gagnon

XLDnaute Nouveau
Bonjour à tous, je sui entrain de compléter un tableau excel et j'ai un petit problème.
Je veux que les cellules qui contiennent des chiffres Exemple (6803-22-0202) soit de couleurs jaune et que les autre cellules ne soit pas affectés.
Merci à l'avance pour l'aide.
 

Pièces jointes

  • Transport.xlsx
    10.2 KB · Affichages: 6

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Une formule qui résiste aux contre-exemples cités par @sylvanu:) et par @job75. Et ceci bien évidemment jusqu'à ce qu'un individu aux intentions maléfiques ne trouve un nouveau conte-exemple :mad:

La formule :
=ET(SOMMEPROD((STXT(A1;$M$1:$M$10;1)>="0")*(STXT(A1;$M$1:$M$10;1)<="9"))=10;STXT(A1;5;1)&STXT(A1;8;1)="--")

NB : on utilise la plage M1 à M10 qui contient le rang des caractères devant être des nombres soit les valeurs {1;2;3;4;6;7;9;10;11;12}. Cette plage peut être placée n'importe où (à condition bien sûr de répercuter son adresse dans la formule)
 

Pièces jointes

  • Dominique Gagnon- MFC- v2.xlsx
    11 KB · Affichages: 1

mapomme

XLDnaute Barbatruc
Supporter XLD
Et ceci bien évidemment jusqu'à ce qu'un individu aux intentions maléfiques ne trouve un nouveau conte-exemple :mad:
Ce triste individu c'est ma pomme. Ma formule du message #16 reconnait le texte "1234-56-67891" comme étant correct! Je modifie donc ma formule en rajoutant une condition sur la taille du texte.
Ce qui donne la formule suivante :
=ET(NBCAR(A1)=12;SOMMEPROD((STXT(A1;$M$1:$M$10;1)>="0")*(STXT(A1;$M$1:$M$10;1)<="9"))=10;STXT(A1;5;1)&STXT(A1;8;1)="--")
 

Pièces jointes

  • Dominique Gagnon- MFC- v3.xlsx
    11 KB · Affichages: 2

TooFatBoy

XLDnaute Barbatruc

Pièces jointes

  • Transport.xlsx
    16.6 KB · Affichages: 2
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour à tous,

En complétant la formule du post #14 de mapomme :
Code:
=ET(NBCAR(A1)=12;--SUBSTITUE(A1;"-";)=ENT(SUBSTITUE(A1;"-";));ESTERR(TROUVE("--";A1));STXT(A1;5;1)&STXT(A1;8;1)="--")
je pense que ça suffit.

A+
 

Pièces jointes

  • Transport4.xlsx
    10.5 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Alors le plus bourrin est peut être la seule solution :
VB:
=ET(ESTNUM(CNUM(STXT(A1;1;1)));ESTNUM(CNUM(STXT(A1;2;1)));ESTNUM(CNUM(STXT(A1;3;1)));ESTNUM(CNUM(STXT(A1;4;1))); ESTNUM(CNUM(STXT(A1;9;1)));ESTNUM(CNUM(STXT(A1;10;1)));ESTNUM(CNUM(STXT(A1;11;1)));ESTNUM(CNUM(STXT(A1;12;1))); ESTNUM(CNUM(STXT(A1;6;1)));ESTNUM(CNUM(STXT(A1;7;1)));STXT(A1;5;1)="-";STXT(A1;8;1)="-";NBCAR(A1)=12)
Là, au moins on s'affranchit de tout.
 

Pièces jointes

  • Transport (4).xlsx
    10.3 KB · Affichages: 2

job75

XLDnaute Barbatruc
En effet ça doit être la bonne solution sylvanu mais on peut la simplifier :

- nom défini matrice ={1;2;3;4;6;7;9;10;11;12}

- formule de la MFC :
Code:
=ET(NBCAR(A1)=12;STXT(A1;5;1)&STXT(A1;8;1)="--";ESTNUM(SOMMEPROD(-STXT(A1;matrice;1))))
 

Pièces jointes

  • Transport5.xlsx
    10.8 KB · Affichages: 0
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Une dernière formule de ma part qui pour l'instant n'est pas prise en défaut par les exceptions trouvées dans les messages ci-dessus:
  • la formule se suffit à elle-même (pas de plage externe ni de nom défini)
  • elle vérifie la longueur de la chaine
  • elle oblige à ce que les séparateurs soient des tirets et soient bien placés

=ET(NBCAR(A1)=12;SOMMEPROD(--ESTNUM(--STXT(SUBSTITUE(A1;"-";"");LIGNE($1:$10);1)))=10;STXT(A1;5;1)&STXT(A1;8;1)="--")
 

Pièces jointes

  • Dominique Gagnon- MFC- v4.xlsx
    10.7 KB · Affichages: 4

Dominique Gagnon

XLDnaute Nouveau
En effet ça doit être la bonne solution sylvanu mais on peut la simplifier :

- nom défini matrice ={1;2;3;4;6;7;9;10;11;12}

- formule de la MFC :
Code:
=ET(NBCAR(A1)=12;STXT(A1;5;1)&STXT(A1;8;1)="--";ESTNUM(SOMMEPROD(-STXT(A1;matrice;1
[/QUOTE]

Re,
J'avais vu, c'est aussi le cas pour le 1er et 2eme membre.
Le contourner complexifie la formule, alors est ce utile ?
Mais on peut le faire avec :
VB:
=SIERREUR(ET(NBCAR(A1)=12;ESTNUM(CNUM(GAUCHE(A1;4)));CNUM(GAUCHE(A1;4))>0;ESTNUM(CNUM(STXT(A1;6;2)));CNUM(STXT(A1;6;2))>0;ESTNUM(CNUM(DROITE(A1;4)));CNUM(DROITE(A1;4))>0);FAUX)
Mais je suis sur qu'il y a encore des combinaisons qui prendront la formules en défaut.
Comme par ex 6.03-22-0206, il est difficile d'être exhaustif. Mais peut être cela suffira t-il à Dominique.
Merci beaucoup à vous pour m'avoir aidé.
 

Discussions similaires

Réponses
2
Affichages
163

Statistiques des forums

Discussions
312 215
Messages
2 086 320
Membres
103 178
dernier inscrit
BERSEB50