XL 2013 comptabiliser des cellules selon trois critères et en historiser les résultats

emj

XLDnaute Nouveau
Bonjour à tous,

j'ai recherché au travers de moult discussions déjà publiées sur ce forum mais n'ai point trouvé de correspondance exacte à mon interrogation. j'ai tenté de vaines solutions approchantes, pour lesquelles je n'ai fait que cumuler les échec.

Alors me voilà devant vous, tel un stoïque chevalier face à une rivière, accompagné de son cheval qui ne sait pas nager, et qui commence à le regarder bizarrement...

Alors que mon œil droit cherche à sortir de son orbite et que mon poing gauche lui est terriblement attiré par la surface plane et vitrée située à la perpendiculaire de mon bureau je cherche désespérément une solution :

Je travail au sein d'une super équipe de techniciens et je suis en charge du suivi des dossiers incidents et demandes que nos utilisateurs ont la gentillesse de nous ouvrir.

Ces dossiers sont donc de différentes natures (colonne ("c")), incidents ou demandes, et sont attribués selon des critères qui n'ont rien à envier au règles de calculs des impôts, à des groupes de résolution (colonne("g)). En utilisant une recette magique donnée par Excel, je lui demande de calculer depuis combien de temps ces dossiers sont ouverts (colonne "j").

Jusque là j'obtient ce que je souhaite. Et c'est la que la perfidie de l'histoire intervient, j'ai besoin de transformer ces données quotidiennes en données hebdomadaires !!! Diantre, qu'ouïe-je?!!! Quel est ce sombre destin qui étreint ma gorge en laissant à peine passer assez d'air pour sustenter des poumons rétrécis par un tabagisme immodéré de plus de 30 ans!?! Veux-t-on clairement m'oxir?!?

Me voilà plus calme, je peux maintenant décrire mon besoin.

Source : age du stock -> mis à jour quotidienne "manuelle"
Destination : Test -> mis à jour quotidienne depuis age du stock.

Jusque là je sais votre compréhension. mais là ou cela devient drôle, c'est que j'ai 9 type de délai et que je dois suivre 10 groupes de résolution, et cela pour deux types d'incident. Je dois remplir 343 colonnes.

J'ai bien essayé avec un bout de code avec un 'countifs', mais chaque fois que la macro s'exécute, avec de nouvelles données, les anciennes données déjà enregistrées sont mises à jour.

Les sources des données sont dans la feuille "age du stock" : les délais dans la colonne "L" les groupes sont en orange dans la colonne "O" et les type de dossier sont en "Q2" et "R2"

Je voudrais bien mettre mon fichier en pièce jointe, mais il pèse environ le poids de Demis Roussos en 1985 avant son passage en thalasso...Et je ne sais pas où déposer les fichiers plus volumineux que 293 ko.

J'espère toute fois que vous pourrez m'aider, ne serait-ce que pour sauver ce pauvre cheval, qui je crois ne me fais plus beaucoup confiance (cf plus haut)...

Merci à tous ceux qui auront bien voulu lire ce message jusqu'au bout et encore plus merci pour ceux qui me demanderont de fournir le fichier (en m'expliquant comment faire) et encore encore plus merci à ceux qui pourront m'aider. Sinon, je vends une Mercédès de 1993 :) (non la je rigole).

Bonne journée
 

Nairolf

XLDnaute Accro
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Salut,

Je t'avouerais qu'en lisant "en diagonale" ta demande (car c'est un pavé et qu'il n'y a pas de fichier), la problématique me semble simple mais compliquée à comprendre et en effet un fichier serait probablement salvateur.

Pour ajouter ton fichier, il faut que tu ailles en mode avancé (cf. bouton ci-dessous) et que tu clic sur le trombone pour joindre le fichier.
 

emj

XLDnaute Nouveau
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

il m'est impossible de télécharger un fichier de taille supérieure à 293 ko, je ne peux réduire la taille de mon fichier en dessous de 322 ko, même compressé.
 

Victor21

XLDnaute Barbatruc
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Bonjour, emj.

La totalité du fichier n'est pas utile à la compréhension du problème.
Une vingtaine de lignes bien choisies (représentatives des différents cas), le(s) résultat(s) souhaité(s) et l'explication qui y conduit devraient suffire.
 

emj

XLDnaute Nouveau
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Bonjour, emj.

La totalité du fichier n'est pas utile à la compréhension du problème.
Une vingtaine de lignes bien choisies (représentatives des différents cas), le(s) résultat(s) souhaité(s) et l'explication qui y conduit devraient suffire.

C'est déjà le cas, j'ai aussi supprimer les noms, feuilles inutiles. Je supprime les macros qui ne sont pas utiles pour ce sujet. J'ai donc un fichier qui comporte 2 feuilles, chacune ne compte qu'une dizaine de lignes, mais je n'arrive pas à aller en dessous de 296 ko.
 

emj

XLDnaute Nouveau
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

C'est bon, j'ai supprimé aussi une référence à un tableau externe, qui n'est pas pertinent.

Merci pour votre intérêt à mon cas :)
 

Pièces jointes

  • test_suivi-quotidien-_2016_.zip
    288.7 KB · Affichages: 34

Nairolf

XLDnaute Accro
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Re emj, salut Patrick,

Je t'avouerais que j'ai du mal à comprendre exactement quel résultat tu souhaites obtenir.

Pourrais tu expliquer, par exemple pour la cellule R4, quels sont les critères, quel résultat tu attends et comment tu l'obtiens ?
 

emj

XLDnaute Nouveau
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Bien sûr que je peux, voir même merci de me le demander :).

Je veux que chaque jour (colonne "A" de la feuille test) soit enregistré le nombre de dossiers commençant par "i" qui est ouvert depuis moins de 24 heures et dont la résolution est confiée au groupe "agile-support.archi". Ensuite dans la colonne "B" je veux le nombre de dossier commençant par "i" enregistré depuis moins de 3 jour et confiés au groupe "Agile-support.archiCes informations sont disponible dans la feuille "âge du stock". les données sont tirées des colonnes "C" pour le type (i ou s); "G" pour les groupes qui traitent les dossiers et "J" pour le délais écoulées depuis l'ouverture du dossier.

Et ainsi de suite pour tous les groupes et tous les délais que tu trouves dans les colonnes "O" pour les groupes, "L" pour les délais de la feuille "âge du stock".

Je pense que si tu lis les entêtes de colonnes de la feuille "test" tu auras une idée, voir même si tu regarde le module 8 de la macro actuelle, ce sera plus simple.

Evidemment je ne vous demande pas le code entier pour tout le classeur :), je voudrais au moins avoir un exemple pour les 8 première colonnes, sachant qu'en plus le nombre de ligne dans "âge du stock" n'est pas statique et qu'il fluctue chaque jour, les délais (colonne "J")et nom des groupes (colonne "O") ne bougent pas.

Merci pour ton aide
 
Dernière édition:

Nairolf

XLDnaute Accro
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Salut,

J'ai eu un peu de mal à comprendre, mais je pense que maintenant j'ai compris ta problématique.

Tu souhaites avoir un report journalier sur les mêmes plages de cellules, ce que ne permet pas de faire simplement les formules.
Avec du code vba tu peux avoir des valeurs fixes d'un calcul géré dans le code, pour ce faire il faut remplacer les instructions :
Code:
Range("fi1").End(xlDown).Offset(1, 0).Value = "=COUNTIFS(...)"
par des instructions de ce type (les ranges et critères à adapter à ton besoin) :
Code:
Range("fi1").End(xlDown).Offset(1, 0).Value = Application.WorksheetFunction.CountIfs(Worksheets("AGE DU STOCK").Range("$G:$G"), Worksheets("AGE DU STOCK").Range("O33"), Worksheets("AGE DU STOCK").Range("$J:$J"), Worksheets("AGE DU STOCK").Range("L2"), Worksheets("AGE DU STOCK").Range("$C:$C"), Worksheets("AGE DU STOCK").Range("Q2"))
Tu auras la valeur du calcul et non le calcul.
 

emj

XLDnaute Nouveau
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Bonjour,

je ne veux pas trop m'avancer, mais je pense que tu es un génie. J'ai fais un premier test et cela semble faire ce que j'attends. Toutefois, tu comprendras que vu le nombre de colonne/ligne à remplir, je ne ferme pas tout de suite le sujet, je vais poursuivre mes tests. Encore merci de t'être penché sur mon cas :).
 

Nairolf

XLDnaute Accro
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Non, je ne suis pas un génie.
Le fait de réussir à formuler le besoin avec le plus de cohérence possible avec les possibilités d'Excel-VBA permet souvent la résolution du problème.
On dit souvent à juste titre qu'un problème bien formulé a sa solution toute trouvée.

Pour ta problématique de nombre de cas est fréquent, les moyens utilisés sont les boucles (for...next et while...wend) associées à une structuration du fichier permettant le décalage cible-source du calcul par incrémentation.

Je te proposerais quelque chose dès que j'aurais un peu de temps.
 

Nairolf

XLDnaute Accro
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Salut,

Me revoilà avec une version plus avancée dans le fichier joint.

Je pense que tu as tout ce qu'il te faut pour poursuivre et adapter le fichier strictement à ton besoin.
Si tu as d'autres questions, n'hésite pas.
 

Pièces jointes

  • test_suivi-quotidien-_2016_Nairolf.xlsm
    338.8 KB · Affichages: 76

emj

XLDnaute Nouveau
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Salut Nairolf,

milles merci, ça fonctionne. c'est différent de ce que j'avais imaginé, mais le résultat est là :).

peux-tu m'expliquer la "philosophie" que tu utilise dans ton code afin que je puisse le maintenir un minimum. je comprends à peu prêt que tu utilise la fonction index, mais je ne comprends pas comment se fait la concordance entre les trois colonnes sources d'inforlation.

Merci pour ton aide.

Finalement je viens de tester sur le fichier d'origine et rien ne se passe. J'ai adapter la macro aux bonnes références (nom des feuilles), j'ai aussi fait l'inverse, j'ai modifié le nom des feuilles sans modifier la macro et rien de s'inscrit dans les colonnes, la ligne reste vierge, pourtant je pense que la macro se déroule puisque je n'ai aucune alerte et que le classeur semble bouger :).

Bon ça fonctionne, j'avais un problème sur la feuille. En refaisant un nouvelle feuille, j'ai pu régler le problème. Donc, peux-tu simplment m'expliquer la "philosophie" que tu utilise dans ton code afin que je puisse le maintenir un minimum. je comprends à peu prêt que tu utilise la fonction index, mais je ne comprends pas comment se fait la concordance entre les trois colonnes sources d'information. :)
 
Dernière édition:

Nairolf

XLDnaute Accro
Re : comptabiliser des cellules selon trois critères et en historiser les résultats

Salut,

Le principe de la fonction index() en formule ou en VBA est le même, il est de renvoyer une valeur dans une plage selon un numéro de ligne et un numéro de colonne. Afin de déterminer la position à cibler, j'utilise la fonction match (ou EQUIV() en formule) qui renvoie une position dans une plage selon un critère.

Pour avoir plus de précisions, regarde sur cet article de mon Blog : INDEX(EQUIV())
 

Discussions similaires

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83