Rechercher : dans
Par :

Recherche du numéro d'une ligne EXCEL

Dernière réponse le 28 aoû 2008 à 12:20:11 alih, le 24 jui 2008 à 14:39:52 
 Signaler ce message aux modérateurs

Bonjour, le forum
voilà mon problème est le suivant, en effet j'ai un tableau qui contient des données d'une entreprise depuis janvier 2007, dans ce tableau il y a une colonne qui contient le type des tickets (A,B,C), dans une autre colonne j'ai des informations qui me précise si ces ticket ont été resolu dans les delai ou pas. ce que je dois faire c'est de calculer les rapport (nombre de ticket de type A resolu dans les delai / nombre total de ticket de type A) sur 12 mois glissant de chaque type de ticket. par exemle l'utilisateur entre la date de debut (mars 07 par exemple) la fonction
EDATE(DATEVALUE("mars-07");12) me donne la date de fin. maintenant que je connais ces dates sachant que je connais la colonne correspondante (Colonne CC par exemple) j'ai besoin de numéro de la ligne qui contient mars 07 et la date de fin, pour pouvoir construire un tableau de recherche (CC(numéro ligne de debut):CC(numéro ligne de fin) que je vais utiliser dans la fonction COUNTIF(tableau_de_recherche;"A") comme ça j'obtient en comptant le nombre de A dans mon tableau de recherche le nombre totale de ticket de type A ouvert entre mars 07 et mars 08.
j'ai aussi une seconde question plus général en faite si l'utilisateur tape la ligne correspondante (par exemple il tape 4 dans la cellule A1) est ce qu'il y moyen d'ecrire (CC(A1) pour dire CC4) puisque excel ne reconnait pas CC(A4)
merci d'avance et j'espère que j'etais claire et qu'il y aura quelqu'un qui pourra m'aider.

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « recherche du numéro d'une ligne EXCEL » dans :
[VBA] RechercheV Polyvalente VoirRECHERCHE POLYVALENTE Pour les accros et les inconditionnels des fonctions d'Excel, avant de crier au scandale, lisez les quelques lignes suivantes. La RechercheV d'origine a beaucoup de limites: La colonne de la donnée doit être avec un offset...
Figer une ligne dans un tableau Excel VoirPour figer la ligne 1 (par exemple) dans une feuille excel : Sélectionnez la ligne 2, Puis allez dans le menu "Fenêtres" et option "Figer les volets".
[Excel] Trier sur les lignes (horizontalement), non les colonnes VoirMicrosoft Excel est configuré par défaut pour réaliser un tri sur les colonnes (Données / Trier). Pour trier les données horizontalement, il suffit de sélectionner les données à trier, puis de cliquer sur le bouton Options et, dans le panneau...

1

eriiic, le 24 jui 2008 à 15:52:59

Bonjour,

utilise indirect("CC" & A1)

eric

Répondre à eriiic

2

alih, le 24 jui 2008 à 16:33:50

Bonjours
merci beaucoup eric, ça marche bien, mais pour la premiere question pour trouver le numéro de la ligne t'as pas une idée comment faire?
merci encore pour ta réponse rapide

Répondre à alih

3

eriiic, le 24 jui 2008 à 16:48:50

Ca sera sûrement sommeprod() mais difficile de répondre sans voir ton fichier.
Sans compter que tu fais une découpe du travail qui n'est peut-être pas nécessaire...
tu peux le déposer sur cijoint.fr et coller ici le lien fourni.
eric

Répondre à eriiic

4

alih, le 25 jui 2008 à 10:04:58

Bonjour,
voilà le liens ou il y a une partie de mon tableau: http://www.cijoint.fr/cjlink.php?file=cj200807/cijtZWpqDA.xl­s
merci pour votre aide
ali

Répondre à alih

5

eriiic, le 25 jui 2008 à 10:33:36

Bonjour,

maintenant que je connais ces dates sachant que je connais la colonne correspondante (Colonne CC par exemple)
C'est où ça ?

Répondre à eriiic

6

alih, le 25 jui 2008 à 10:59:51

Bonjour,
les dates sont le debut et la fin, ici dans l'exemple CC c'est la colonne C celui qui contient les dates,
ma question c'est si par exemple l'utilisateur tape april 2007, vue que je sais dejà q'elle est forcement dans la colonne C j'ai juste besoin d'une fonction qui me trouve le numéro de la ligne afin de construire mon tableau de recherche (par exemle si debut=april 2007 et fin=july 2007 je veux une fonction qui me sort C12:C22),
Mince je viens de me rendre compte que si je fais ça j'aurai des resultats erroné car august 2007 est dans mon tableau C12:C22)
j'espère que j'ai été clair cette fois
merci pour ton aide
ali

Répondre à alih

7

eriiic, le 25 jui 2008 à 11:12:44

Oui, déjà ton tableau n'est pas trié,
et d'autre part 2 pb :
- tes dates ne sont pas au format date mais des chaines de caractères
- d'autre part elles sont en anglais ce qui empeche une conversion simple.

Peux-tu changer ça ?
Pas la peine d'essayer de trier ou de rechercher quoique ce soit tant que ça ne sera pas des dates valides pour excel.
As-tu excel en anglais ou en français ?

Répondre à eriiic

8

alih, le 25 jui 2008 à 11:29:39

J'ai excel en anglais, pour la conversion je vais la faire en rajoutant une colonne acceptable par excel (avec format april-07)car j'ai fait pleine de calcul avec ces donnée là, pour le tri je pense que c'est pas necessaire, en fait je peux mettre un IF pour dire que si la case contient une valeur plus grande que la date de fin ou plus petite que la date de debut je lui demande de ne pas traiter cette cellule (de mettre 0).
ali

Répondre à alih

9

alih, le 25 jui 2008 à 12:00:16

Bonjour
voilà le nouveau tableau http://www.cijoint.fr/cjlink.php?file=cj200807/cijsrz9xs1.xl­s cette fois le CC c'est la colonne D

Répondre à alih

10

eriiic, le 25 jui 2008 à 13:19:55

Voici un exemple de comment tu pourrais faire :
http://www.cijoint.fr/cjlink.php?file=cj200807/cij38CFoXX.xl­s
Avec ces formules le tableau n'a pas besoin d'etre trié.
Comme tu avais évoqué 12 mois glissant j'ai ajouté ce test.
Si tu veux toutes les valeurs connues depuis une date il faut enlever *(($D$7:$D$100)<DATE(ANNEE($G5)+1,MOIS($G5),1)) dans toutes les formules
eric

Répondre à eriiic

11

alih, le 25 jui 2008 à 14:28:40

En fait je comprend pas trop les chiffre retourner par la fonction SOMMEPROD, (17, 16, 13...) et puis il y a une erreur pour janvier-07 puisqu' il y a 1 dans la colonne de "IN DELAYS" tandis que normalement il n'y a pas un "IN DELAYS" pour janvier-07 et avec ce calcul je connais pas des choses nouvelles il me dit juste qu' il y a une fois IN DELAYS pour fevrier-07, chose que je connais. tu peux etre plus claire STP pour que je comprenne ton resonnement.
merci d'avance

Répondre à alih

12

alih, le 25 jui 2008 à 14:32:52

Je ne sais pas si t'as compris mon resonnement, en fait j'ai deux choix soit j'essaye d'automatiser tout en suivant le demarche pour trouver le numero de la ligne en utilisant son contenu (la date) soit je demande à l'utilisateur de le faire à la main. Mais je préfère l'automatisation.

Répondre à alih

13

eriiic, le 25 jui 2008 à 15:49:34

Tu as demandé (nombre de ticket de type A resolu dans les delai / nombre total de ticket de type A) sur 12 mois glissant
La formule retourne donc le nombre de ticket du mois demandé et des 11 mois suivants. C'est donc normal si tu demande janvier 2007 de compter également février 2007 etc...
Mais effectivement, comme j'étais resté sur fichier non valide au niveau des dates du coup il manque la partie 'type de ticket'
Il suffit d'ajouter à chaque formule *($B$7:$B$100="A") pour ne compter que les tickets A.
Voici une nouvelle version :
http://www.cijoint.fr/cjlink.php?file=cj200807/cijCX6cdDl.xls

Sur cet exemple tu as le nombre total de ticket A de janvier 2007 à décembre 2007 (12 mois glissants), le nombre de in delay et no delay pour la même période. Le rapport delai / nombre total de ticket de type j'ai supposé que tu savais faire.

Répondre à eriiic

14

alih, le 26 jui 2008 à 09:48:01

Bonjour, merci beaucoup eric ça fonctionne inpécable, j'ai une derniére question à te poser.
en fait je dois calculer le meme rapport que la dessus mais cette fois ci pour chaque ticket chaque mois, je m'explique par exemple pour le mois fevrier-07 je dois trouver le nombre le ticket type A resolue dans les delai / le nombre des ticket type A ouvert dans le mois. ici l'utilisateur ne choisi rien tout est automatique. Moi ce que j'ai fais c'est un truc lourd avec pleine de IF ( pour chaque ticket j'ai 18 colonne de calcul) et qui ne fonctionne que jusqu'a decembre 2012.
Merci

Répondre à alih

15

alih, le 26 jui 2008 à 10:32:06

Sayez j'ai trouvé j'utilise SUMPRODUCT(($D$7:$D$100=$D7)*($B$7:$B$100="C")) pour calculer le nombre total des tickets type C et je la generalise sur toute la colonne, mais j'ai un problème, en faite pour aout-07 à chaque fois il me mets 1 pour me dire qu'il y a un ticket type C en aout-07, mais ce que je veux c'est qu'il me mette pour aout par exemple le nombre total de ticket type C ouverte, dans l'exemple je voudrai qu'il me met le nombre total de ticket pour le mois genre pour aout 2007 qu'il me mets 2 dans les deux cellules à la place de 1 vue qu'il y a deux ticket de type C ouverte en aout-07, il y aussi un problème sur la ligne 20 le ticket est du type "Cons." et malgré ça il la considère comme ticket de type C, car il mets 1 dans la case.
voilà le fichier http://www.cijoint.fr/cjlink.php?file=cj200807/cijFtYT7ua.xls
merci

Répondre à alih

16

eriiic, le 26 jui 2008 à 11:42:04

Parce que ce n'est pas comme ça qu'il faut faire...
Si tu prends la ligne 20 :
803988 Cons. august 2007 August-07 NO DELAYS
ta formule est :
=SOMMEPROD(($D$7:$D$100=$D20)*($B$7:$B$100="C"))
=> quels sont les ticket 'C' (alors que tu as 'Cons.) à la date $D20 (et dans $D20 tu as 06/08/2007 et non pas 08/2007)

Il ne faut pas écrire la formule sur chaque ligne, tu calculerais 10 (ou 100 ou 1000) la même chose. Il faut te créer un tableau avec en horizontal les mois, en vertical tes formules pour chaque sévérité.

eric

Répondre à eriiic

17

alih, le 26 jui 2008 à 12:41:20

ça fonctionne voilà une copie mon nouveau tableau est en bas à droite http://www.cijoint.fr/cjlink.php?file=cj200807/cijnZJGQt1.xl­s
je te remercie pour ton aide
affaire resolue
Ali

Répondre à alih

18

eriiic, le 26 jui 2008 à 14:22:29

Impeccable, tu as tout à fait compris une des façon d'utiliser sommeprod().

Tu pouvais t'abstenir de reprendre toutes les dates en comparant année et mois de chaque date. Ex en F30 :
=SOMMEPROD((MOIS($D$7:$D$100)=MOIS(F$29))*(ANNEE($D$7:$D$100­)=ANNEE(F$29))*($B$7:$B$100="C"))

Et après avoir choisi janv07 comme début tu peux calculer le mois suivant avec en G29:
=DATE(ANNEE(F29),MOIS(F29)+1,1)
et ensuite tu n'as plus qu'à recopier vers la droite pour agrangir ton tableau

eric

Répondre à eriiic

19

alih, le 26 jui 2008 à 14:42:55

Merci beaucoup, en fait j'ai compté faire ça, en effet j'avais entendu comme quoi une des formules les plus importante d'excel etait SOMMEPROD mais j'avais pas compris son utilité pour mon calcul.

Répondre à alih
Collection CommentÇaMarche.net