XL 2019 Mettre en couleur des cellules spécifiques

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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 😡

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

Et ceci bien évidemment jusqu'à ce qu'un individu aux intentions maléfiques ne trouve un nouveau conte-exemple 😡
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

Pièces jointes

Dernière édition:
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

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

Dernière édition:
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

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é.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour