Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Mise en forme conditionnelle VBA

Kushi

XLDnaute Nouveau
Bonjour à tous !

J'espère que vous allez tous très bien ! J'ai un nouveau sujet pour vous aujourd'hui !

Sur un classeur j'ai une feuille "RESULTAT" & une feuille "KANBANS", dans RESULTAT j'ai une nomenclature de sortie sur la colonne "E", dans KANBANS j'ai une liste de références de kanbans colonne "C".
Mon problème est le suivant :
- Je souhaiterais que SI une référence de la colonne "E" de RESULTAT contient le même nom qu'une référence de la colonne "C" de KANBANS, alors mettre la référence de la colonne "E" de RESULTAT en fond vert SINON le mettre en fond rouge. Donc je souhaite pouvoir le traiter sur toute la nomenclature de la colonne "E".

Pour informations,
- la colonne "C" de KANBANS a forcément des références qu'il n'y a pas dans la colonne "E" de RESULTAT.
- le traitement de la colonne "C" de KANBANS commence à partir de la cellule C8
- le traitement de la colonne "E" de RESULTAT commence à partir de la cellule E2

Un exemple de tableau est fournis ci-joint.

Je vous remercie par avance de votre attention et votre aide.

Kushi.
 

Pièces jointes

  • exemple.xlsm
    299 KB · Affichages: 5
Solution
Le recalcul des formules en feuille KANBANS est indispensable.

Seulement comme il y a beaucoup de doublons en colonne C on peut les éviter avec cette formule en L7 :
Code:
=SI(C7="";"";SI(EQUIV(C7;C:C;0)<LIGNE();"";SIERREUR(EXP(LN(NB.SI(RESULTAT!E:E;"*"&C7&"*")));"")))
Avec les formules matricielles en colonnes M N O faisant référence à la colonne L.

Voyez le fichier joint, l'entrée d'une valeur en E113 s'effectue maintenant chez moi en 0,3 seconde.

Deadpool_CC

XLDnaute Accro
Question pour vérifier ma compréhension.
dans la Colonne C (Résultats) la référence à tenter de trouver dans Kanbans colonne C est bien tout ce qui se trouve avant le premier "/" ?

avec cette compréhension, voici un fichier avec une MFC basée sur une formule :
VB:
=NB.SI(KANBANS!$C$7:$C$1819;STXT($E2;1;TROUVE("/";$E2)-1))

 

Pièces jointes

  • exemple.xlsm
    251 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour Kushi, Deadpool_CC,

Voyez le fichier joint avec :

- dans la feuille KANBANS les formules en colonnes L M N 0 (matricielles en M N O)

- dans la feuille RESULTAT la MFC couleur rouge sur la plage E2:E112 :
Code:
=NON(NB.SI(KANBANS!$M:$O;LIGNE()))
la couleur de fond étant verte.

A+
 

Pièces jointes

  • exemple.xlsm
    373.1 KB · Affichages: 5

job75

XLDnaute Barbatruc
@Deadpool_CC nos résultats sont différents parce que nous n'utilisons pas les mêmes critères.

Par exemple en E4, chez vous PS20007701 n'est pas trouvé en feuille KANBANS.

Mais chez moi 20007701 est trouvé (en de multiples endroits).
 

Kushi

XLDnaute Nouveau
Bonjour Deadpool_CC,

Je te remercie pour le travail que tu m'a proposé, en effet ta MFC fonctionne pour les ref exact trouvée en Kanbans.

Comment modifier cette formule si la référence à tenter de trouver est entre "ps" et "/" ?

Kushi.
 
Dernière édition:

Kushi

XLDnaute Nouveau
Bonjour Job75,

Merci pour le temps passé sur la solution, c'est bien ce que je voulais !

Cependant, si j'ai bien compris la couleur verte vous l'avez mise manuellement ?

Kushi.
 
Dernière édition:

Deadpool_CC

XLDnaute Accro
Vu que cela était pas préciser ... je suis parti du principe que si PS devant c'était une référence différente
le principal c'est qu'il ait une solution qui fonctionne selon son besoin
 

Kushi

XLDnaute Nouveau
Notez que le recalcul des formules de la feuille KANBANS prend du temps.

L'entrée d'une nouvelle valeur en E113 de la feuille RESULTAT s'exécute chez moi en 1,2 seconde.
Étant donné que la plage de la nomenclature est variable en "E" et peut atteindre plusieurs centaines... y- aurait-il un moyen pour "éviter" un recalcul et vraiment passer seulement par une MFC pour gagner du temps ?

Kushi.
 

job75

XLDnaute Barbatruc
Le recalcul des formules en feuille KANBANS est indispensable.

Seulement comme il y a beaucoup de doublons en colonne C on peut les éviter avec cette formule en L7 :
Code:
=SI(C7="";"";SI(EQUIV(C7;C:C;0)<LIGNE();"";SIERREUR(EXP(LN(NB.SI(RESULTAT!E:E;"*"&C7&"*")));"")))
Avec les formules matricielles en colonnes M N O faisant référence à la colonne L.

Voyez le fichier joint, l'entrée d'une valeur en E113 s'effectue maintenant chez moi en 0,3 seconde.
 

Pièces jointes

  • exemple(1).xlsm
    379.5 KB · Affichages: 6

Kushi

XLDnaute Nouveau
Parfait comme ça !

Merci beaucoup pour la nouvelle solution !

Kushi.
 

Kushi

XLDnaute Nouveau
Job75,

Je n'arrive pas à le mettre en application sur mon modèle...
Par rapport à ta formule c'est marqué ...Tableau24[Ligne Triées]... sauf que dans mon cas le numéro du tableau change tout le temps ...
Y'a-t'il un moyen pour choisir une plage de cellule à la place du tableau ?

Kushi.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…