Mise en Forme Conditionnelle dans un Tableau Croise Dynamique

sebexls2003

XLDnaute Nouveau
Bonjour à tous!

Je souhaite programme une MFC dans un TCD (cf p-j). Est ce que je peux le faire en VBA (le même type de code par colonne, juste les limies qui vont changer)?
Ou ien vous pensez qu'il vaut mieux rester dans la MFC classique?

merci
 

Pièces jointes

  • sebexls ESSAI_DEUX.xls
    41 KB · Affichages: 80
  • sebexls ESSAI_DEUX.xls
    41 KB · Affichages: 78
  • sebexls ESSAI_DEUX.xls
    41 KB · Affichages: 74

Dugenou

XLDnaute Barbatruc
Re : Mise en Forme Conditionnelle dans un Tableau Croise Dynamique

Bonjour,
J'ai dit Dynamique parce que les valeurs du graphe changent en fonction de choix dans des listes déroulantes. Par contre la zone de graphique ne change pas, donc pas de DECALER. j'aurai donc du dire graphe à données dynamiques.
Index (tableau;ligne;colonne) permet de renvoyer la donnée qui se situe au croisement des valeurs ligne et colonne (comme une bataille navale). Si une seule colonne on a pas besoin de la préciser donc ici index(table à une seule colonne; ligne)

Tout le boulot consiste à remplir cette table à une seule colonne par les valeurs qui correspondent aux choix faits dans les listes déroulantes. Cette table se construit avec une formule Si en matriciel :
SI(données1 = valeur cherché1;si(données2=valeurs cherché2; alors renvoyer le N° de ligne;sinon renvoyer un N° plus grand que la dernière ligne de données);sinon renvoyer un N° plus grand que la dernière ligne de données pour le premier si)
En appelant toutes les valeurs renvoyées par la formule(matricielle) ci dessus et en commençant par la plus petite on aura tous les N° de ligne qui correspondent au choix puis un N° de ligne ou il n'y a rien à afficher.
Donc Petite.valeur (formule précédente; chiffre qui va de 1 à N quand on recopie vers le bas)

J'espère que tu me suis dans cette explication ? si ce n'est pas le cas : dis-le moi et je te ferai ça en mettant chaque morceau de la formule en couleur dans un fichier de démo.

Cordialement
 
Dernière édition:

sebexls2003

XLDnaute Nouveau
Re : Mise en Forme Conditionnelle dans un Tableau Croise Dynamique

Salut Dugenou !

Comment vas-tu ? J’espère que ton statut n’est pas « en vacances » en ce moment...

Merci pour ton aide précieuse. J’ai pris du temps pour lire et comprendre tes explications.
Je me suis exercé à recréer le fichier, pour mieux le comprendre.

Primo : J’ai inséré les formules des MFC, par contre quand j’appelle les valeurs tests correspondantes avec index et equiv, elles n’apparaissent pas dans les cellules correspondantes (bien que je les ai définies auparavant par insertion nomdéfinir), ce qui fait que les MFC donnent des résultats erronés, à moins que je n’insère « manuellement » les valeurs limites dans ces cellules correspondantes. Pour quoi ?

Deuxio Et d’autres part pour la formule
SI(données1 = valeur cherché1;si(données2=valeurs cherché2; alors renvoyer le N° de ligne;sinon renvoyer un N° plus grand que la dernière ligne de données);sinon renvoyer un N° plus grand que la dernière ligne de données pour le premier si)
:
=INDEX(FeuilTest(2)!A$1:A$5;PETITE.VALEUR(SI(FeuilTest(2)!$B$2:$B$4=Graph!$B$2;SI(FeuilTest(2)!$C$2:$C$24=Graph!$B$3;LIGNE(FeuilTest(2)!$C$2:$C$4);LIGNES(FeuilTest(2)!$C$1:$C$4)+1);LIGNES(FeuilTest(2)!$C$1:$C$4)+1);NBVAL(A$6:A6)))

Quand je l’insère, dans la feuille graphique, je reçois un message d’erreur, est ce que auparavant je dois d’abord mettre toutes les données a jour dans FeuilTest (j’ai mis que quelques lignes) avant d’attaquer les formules dans l’onglet graph ?

Cordialement,
Abdel
 

Dugenou

XLDnaute Barbatruc
Re : Mise en Forme Conditionnelle dans un Tableau Croise Dynamique

Bonjour Abdel,
Une première question : as-tu bien validé la formule en matriciel, c'est à dire avec les 3 touches ensemble : ctrl+maj+enter ?
Seconde question : peux-tu remettre en pj ton dernier fichier pour je voie bien le pb des mfc ?
Cordialement
 

Statistiques des forums

Discussions
312 504
Messages
2 089 073
Membres
104 019
dernier inscrit
pascal la