Application d'une MFC + plage nommée

arthurho

XLDnaute Junior
Bonjour,

Je cherche à colorier en bleu les cellules de la colonne 1 onglet Feuil1, lorsque la cellule étudiée de cette colonne possède la chaine de caractère présente dans l'onglet Feuil2 colonne 1.

La MFC fonctionne pour des lettres simples, avec le code suivant :
Code:
=NB.SI(MesValeurs;A1)>0
Mais en le compliquant un peu ..
Code:
=NB.SI(MesValeurs;STXT(A1; CHERCHE(MesValeurs; A1;1); NBCAR(MesValeurs)))>0

Celui ci ne fonctionne plus,

Avez vous une solution ?

Cdt,

Arthur HO.
 

Pièces jointes

  • Recherche(1)(1)-oui.xls
    41.5 KB · Affichages: 92
  • Recherche(1)(1)-oui.xls
    41.5 KB · Affichages: 99
  • Recherche(1)(1)-oui.xls
    41.5 KB · Affichages: 118

arthurho

XLDnaute Junior
Re : Application d'une MFC + plage nommée

Bonjour CISCO, le forum,

Est - il possible de compléter la colonne Big Tables dans le 1er onglet, en rajoutant Yes/Nosi la requête en question concerne une grosse table, présente dans le deuxième onglet ? (plage nommée MesValeurs)
Je peux colorier la cellule mais inscrire du texte à l'intérieur .. je n'y arrive pas .

Il faudrait inscrire Yes : Si la requête SQL concerne une grosse table
No: Sinon.

Merci de ton aide,

Arthur HO.

Modif: version 7 : j'ai dupliqué le code de la MFC dans la colonne big table pour inscrire du texte. Existe t il un moyen de tester la couleur d'une cellule, hors VBA ?
 

Pièces jointes

  • FC_G10R00C00_SQLRepV6.xls
    199 KB · Affichages: 41
  • FC_G10R00C00_SQLRepV6.xls
    199 KB · Affichages: 32
  • FC_G10R00C00_SQLRepV6.xls
    199 KB · Affichages: 38
  • FC_G10R00C00_SQLRepV7.xls
    222.5 KB · Affichages: 31
  • FC_G10R00C00_SQLRepV7.xls
    222.5 KB · Affichages: 36
  • FC_G10R00C00_SQLRepV7.xls
    222.5 KB · Affichages: 44
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Application d'une MFC + plage nommée

Bonsoir

Je sais mettre en évidence les cellules colorées par l'intermédiaire du format et de remplisage, en utilisant la fonction XL4 LIRE.CELLULE. Il y a malheureusement deux défauts :
* Un petit : Cela ne fonctionne qu'en passant par un nom, par ex couleur= LIRE.CELLULE(63;J2) (cf en colonne I par rapport à la colonne J dans le fichier en pièce jointe) et pas en écrivant directement la fonction LIRE.CELLULE dans la formule (Cf. le post très intéressant à ce sujet : https://www.excel-downloads.com/threads/astuce-recente-lire-cellule.32955/, code 63 pour la couleur du remplissage, d'autres codes pour la couleur de la police, ou la taille des cellules...)
* et un gros : Cela ne fonctionne pas pour des couleurs obtenues à l'aide d'une MFC.

Pourquoi n'utilises tu pas directement la formule avec SOMMEPROD, utilisée précédemment pour la MFC, comme dans ta V7, ou celle après simplification que j'ai mise en colonne K ?

@ plus

P.S : D'ailleurs, si tu gardes cette colonne de yes et de no, colonne I par exemple, le plus simple serait que tu fasses une mise en forme conditionnelle par rapport à cette colonne, du style =$I2="yes"-->rouge, et que tu supprimes celle avec SOMMEPROD. Ainsi, tu ne demandera pas à excel de faire deux fois le même travail. Cela devrait tourner un peu plus rapidement.
 

Pièces jointes

  • FC_G10R00C00_SQLRepV7.xls
    208 KB · Affichages: 49
  • FC_G10R00C00_SQLRepV7.xls
    208 KB · Affichages: 37
  • FC_G10R00C00_SQLRepV7.xls
    208 KB · Affichages: 34
Dernière édition:

arthurho

XLDnaute Junior
Re : Application d'une MFC + plage nommée

Bonjour CISCO,

Effectivement j'avais vu la fonction lire.cellule mais celle ci ne fonctionne que sous excel 2003.
Sous 2007 ce détournement n'est plus possible.
Je vais alléger le code comme tu me l'as proposé,

Cdt,

edit : Bon ben puisque tu l'as utilisé dans la plage nommée , le détournement est possible :) j'avais essayé dans une cellule mais sans résultat.
Re edit : Alors , lorsque le coloriage de la cellule se fait par MFC, lire.cellule ne fonctionne plus !
Arthur HO.
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Application d'une MFC + plage nommée

Bonjour

Bonjour CISCO,

Sous 2007 ce détournement n'est plus possible.

Si, si, ça fonctionne, à condition d'utiliser la fonction LIRE.CELLULE dans un nom, et pas directement dans la cellule.

Alors , lorsque le coloriage de la cellule se fait par MFC, lire.cellule ne fonctionne plus !
Arthur HO.

Et oui, malheureusement. Dans mon exemple, j'ai rentré la couleur en colonne J à la main, pas avec une MFC.

@ plus
 

arthurho

XLDnaute Junior
Re : Application d'une MFC + plage nommée

Bonjour CISCO, le forum

Le fichier est en cours d'utilisation et la MFC fonctionne à merveille.

Malheureusement pour l'ajout de certaines requêtes SQL : Exemple ligne 122
"SELECT TO_CHAR(FC_DOSS_FIN
,'DD/MM/YYYY')
FROM %Table(RF_INST_PROD)
WHERE SETID=:1
AND INST_PROD_ID=:2"

Cette ligne ne se colorie pas en rouge car la table , présente dans l'onglet "Big Tables" se nomme "PS_RF_INST_PROD"

J'aimerais tout de même colorier cette ligne en rouge.
Quel est le process le moins coûteux ? Supprimer le PS_ de la table par la MFC pour tenir compte de cette table ?

Merci de ton aide, je travaille dessus actuellement,

Cdt,

Arthur HO.
 

Pièces jointes

  • Copie de 7.xls
    264.5 KB · Affichages: 39

CISCO

XLDnaute Barbatruc
Re : Application d'une MFC + plage nommée

Bonjour

Si on supprime à l'aide de la MFC, les PS_ dans la liste, on coloriera aussi en rouge d'autres lignes, la 3 par exemple, à cause du CM provenant de PS_CM. Ne serait-ce pas une source d'erreur, de problème ?

Le mieux serait de trouver d'autres critères plus rigoureux.

Pourrais tu me dire pourquoi tu tiens à colorier en rouge la ligne 122 ?

@ plus
 

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 989
dernier inscrit
jralonso