Paramétrage chronologique d'occurences maximum

Bonjour à tous,

Je souhaite parvenir à paramétrer des occurrences. J'ai dans mon fichier fixé une limite maximum d’occurrence par ligne de mon tableau (une "base de données" contenant des codes de 5 chiffres). Pour le moment, une de mes feuilles "recherche" m'affiche le nombre de codes identiques à celui que je recherche (par exemple si je cherche le 01234 il m'affiche 50.) Mais je souhaite pouvoir prendre en compte les dates de création de ces cas.

De facon plus claire, j’aimerais obtenir sur la feuille « Nouvelle Recherche », la mise en forme de la cellule J21-K21. Cette cellule affiche pour le moment le nombre de code identiques, dans la base de données, au code affiché dans une autre cellule, C21-D21. Cependant, ces codes ont aussi une date de création que je ne prends pas en compte et j’aimerais pouvoir mettre en forme la cellule en fonction d’une limite d’occurrences. (Au lieu d’obtenir le nombre de codes identiques total, obtenir le nombre de codes identiques au courant du dernier mois et afficher celui-ci). Si il y a plus de N codes dans le dernier mois, la cellule s’affiche en rouge et si il y a moins de ces N codes alors la cellule est affichée en vert.

Actuellement j''utilise la fonction : =NB.SI('Données NQ'!H2:H2338;C21) dans la cellule en question

Et voici ce que j’ai essayé de mettre en place :

Sub mise_en_forme()

For i = Range(J2) To Range(J2338) ‘Balayage des limites d’occurrences que j’ai fixé dans la base de données

k = nb(J21).Sheet("Nouvelle Recherche") ‘Je sélectionne mon nombre d’occurrence affiché

If k >= i Then ‘J’essaie de le comparer avec ca aux limites mais la je bloque..

Range ("J21:K21")

Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 5287936

.TintAndShade = 0

.PatternTintAndShade = 0

elif

Range ("J21:K21")

Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 5287936

.TintAndShade = 0

.PatternTintAndShade = 0

End Sub

Je vous remercie d'avance pour vos réponses!!

Bonne journée à tous,

Bonjour

Pour tenir compte de la date il faut utiliser NB.SI.ENS et préciser le critères de date

Sans fichier, difficile de t'aider

Bonjour

Pour tenir compte de la date il faut utiliser NB.SI.ENS et préciser le critères de date

Sans fichier, difficile de t'aider

Bonjour 78Chris, oui je suis désolé je ne peux pas envoyer le fichier confidentiel excuse moi.. J'ai bien pris en compte la fct NB.SI.ENS, et en sélectionnant ma plage de date (donc la seconde plage critère) saurais tu comment je peux formuler le critère pour obtenir le décompte du dernier mois?

J'ai pensé à:

NB.SI.ENS('Données NQ'!H2:H2338;C21;'Données NQ'!R2:R2338;Mois(dernier(date)))

Mais je doute que cela fonctionne ou soit la méthode la plus simple.. ?

Pour la mise en forme conditionnelle celle que j'ai appliqué pour le moment est basique; une limite de 2 cas sur le dernier mois pour tous les codes. Mais je souhaiterai pouvoir à l'avenir modifier la limite d'occurrence pour un code donné.

Je t'ai joint une copie de la base de donné si cela t'aide un petit peu à visualiser la chose?

RE

Limite à 50 lignes et remplace les infos qui peuvent être confidentielle, comme des noms par titi, toto ou envoie en MP

Si c'est le dernier mois d'un code donné, il faut passer en matriciel

Pas compris ton histoire de MFC dans ta seconde demande

RE

Limite à 50 lignes et remplace les infos qui peuvent être confidentielle, comme des noms par titi, toto ou envoie en MP

Si c'est le dernier mois d'un code donné, il faut passer en matriciel

Pas compris ton histoire de MFC dans ta seconde demande

Grâce à l'aide de 78Chis, celui-ci est parvenu à m'aider pour la première partie de mon problème.

Cependant, j'ai un souci supplémentaire si vous pourriez m'aider?

Grâce à la formule en feuille 2, j'arrive bien à fixer une limite globale pour tous les codes, en ayant mis en place sur la cellule une mise en forme conditionnelle; si la somme est supérieur à deux alors la cellule s'affiche en rouge et si elle est inférieure à deux elle est en verte.

Mais, j'aimerais pouvoir modifier cette limite max, par ligne=par code de ma base de données. Autrement dit, si j'ai par exemple le code 01112 je souhaiterai que ma limite soit de 2 par mois sur le dernier mois passé. Tandis que si j'ai le code 01148 je souhaiterai que la limite maximale sur le mois passé soit de 10.

Pour chaque code, je souhaiterai pouvoir modifier ma contrainte.

J'ai pensé pour cela à créer une colonne supplémentaire dans mon tableau, comprenant la limite d'occurrences pour chaque code, mais je ne sais pas ensuite comment comparer toutes les variables entre elles; le code recherché dans la cellule C16, la recherche du nombre de cas dans la base de donnée dans le dernier mois en cours (Mai par exemple) grâce aux dates de création de chaque cas, et les limites d'occurences de chaque cas.

Peut etre qu'à l'aide d'une macro cela serait plus simple? Si, à l'aide d'un bouton, la macro regarde tout d'abord qu'elle est le code recherché dans la cellule C16, et recherche ensuite dans la base de donnée tous les paramètres? Mon seul problème est de ne pas savoir comment mettre les conditions ou les boucles en place pour tout cela…

For i in worksheet('Données NQ').range(I2:I2338) 'Balayage de la base de données

L=worksheet('Donnée NQ').range(J2:J2338) 'Limites d'occurrences pour chaque cas

K=worksheet('Nouvelle Recherche').range(C16:D16) 'Code du cas recherché

D=worksheet('Données NQ').range(R2:R2338) 'Dates de création de chaque cas

If i=k then 'Somme des cas identiques au recherché

sum for each i in range (I2:I2338)

sum=S

Elif

None

For each i in S, 'dans la somme, analyse des dates

If R>last month then,

sum for each i in S

sum = S2

Elif

None

If S2>L then, 'dans cette dernière somme, limites

display cell in red

Elif

display cell in green

display result in worksheet('Nouvelle Recherche').range(J22)

'Affichage du résultat final dans la cellule J22 de la feuille Nouvelle recherche avec la mise en forme de couleur associé aux limites

Bonjour

Il faut faire un tableau de paramètres : code et limite

Voir ci joint en MFC

Mais pourquoi ne pas t'orienter vers une extraction des lignes correspondant au code ?

Je ne saisis pas trop l'objectif opérationnel

Edit : tu parles de la cellule J22 de la feuille Nouvelle recherche mais elle est vide ce qui n'ai pas à comprendre ta logique

7bd-nb-limites.xlsx (42.49 Ko)

Merci à nouveau 78Chris,

Du point de vue pratique oui je pense que l'extraction serait plus simple. Mais sur tout l'outil que je crée, mon objectif est d'aboutir à un outil de pilotage de plan d'action donnant uniquement les axes clés des actions qui vont devoir être menés.

(L'illustration en pièce jointe est la feuille nouvelle recherche sur laquelle l'utilisateur obtient tous ses résultats en direct, le bouton d'affichage sur sa droite extrait un document word permettant ensuite le suivi des actions en fonction de chaque code.

RE

J'ai mis le tableau de paramètres sur un autre onglet

Re,

J'essaie cela de suite, en plaçant également le tableau annexe dans un nouvel onglet !

Merci beaucoup

RE

J'ai mis le tableau de paramètres sur un autre onglet

Une fois de plus génial!!!! J'ai réussi à tout mettre en place et l'adapter au fichier. Merci!

Penses tu que je puisse modifier la formulation de somme, pour ne pas prendre en compte la colonne Date_Creation du tableau justifiee, mais de prendre en compte uniquement les cas apparus au court du mois précédent la date actuelle?

Si je crée une colonne date du jour (qui se modifie à l'ouverture du fichier ou alors à mettre a jour manuellement), et une autre colonne un mois soustrait à cette date, est il possible de prendre cela en compte?

RE

1 mois jour pour jour ?

=SOMMEPROD((Donnees[Code]=[@Code])*(Donnees[DATE_CREATION]>=MOIS.DECALER(AUJOURDHUI();-1)))

pas besoin de valider en matriciel

RE

1 mois jour pour jour ?

=SOMMEPROD((Donnees[Code]=[@Code])*(Donnees[DATE_CREATION]>=MOIS.DECALER(AUJOURDHUI();-1)))

pas besoin de valider en matriciel

C'est parfait merci encore pour ton aide!!

Rechercher des sujets similaires à "parametrage chronologique occurences maximum"