Bonjour à tous,
Tout d'abord, merci à la communauté pour tous ces services rendus, c'est toujours agréable de se faire guider quand on est dans une impasse.
Voici mon problème:
Je récupère une extraction .csv que je colle dans un classeur et qui contient la liste des tournées camion affectées à des clients.
Le format des tournées est le suivant: 3 chiffres: un chiffre correspondant au jour de la semaine (1-7) suivi de 2 chiffres correspondant au numéro de tournée (01-99).
Soit 215 pour la tournée 15 du MARDI.
La table ressemble donc à:
J'ai besoin de récupérer ces données sous la forme d'un tableau avec une ligne par numéro client et une colonne par jour, avec les numéros de tournée par jour:
Voici donc la formule que j'ai placée dans chaque cellule, ici pour la colonne LUN:
=SI(ESTNA(INDEX(Extraction!$C:$C;EQUIV(1;(Extraction!$A:$A=$A2)*(GAUCHE(Extraction!$C:$C;1)="1");0)));"";INDEX(Extraction!$C:$C;EQUIV(1;(Extraction!$A:$A=$A2)*(GAUCHE(Extraction!$C:$C;1)="1");0)))
Je vérifie donc le numéro client puis le premier chiffre du numéro de tournée pour savoir si c'est un Lundi (1xx), Mardi (2xx) etc.
La formule fonctionne très bien mais lorsque je lance le calcul de ma page via un bouton, c'est très très long à calculer, puis Excel, puis tout mon pc, plantent.
Je vous sollicite donc afin de savoir si vous auriez une idée pour faire la même chose en moins gourmand?
Merci par avance à tous, je met un fichier exemple en pj.
kohta
Tout d'abord, merci à la communauté pour tous ces services rendus, c'est toujours agréable de se faire guider quand on est dans une impasse.
Voici mon problème:
Je récupère une extraction .csv que je colle dans un classeur et qui contient la liste des tournées camion affectées à des clients.
Le format des tournées est le suivant: 3 chiffres: un chiffre correspondant au jour de la semaine (1-7) suivi de 2 chiffres correspondant au numéro de tournée (01-99).
Soit 215 pour la tournée 15 du MARDI.
La table ressemble donc à:
Client n° | Nom | Tournée |
1 | Client 1 | 407 |
3 | Client 3 | 103 |
3 | Client 3 | 305 |
3 | Client 3 | 505 |
4 | Client 4 | 107 |
4 | Client 4 | 403 |
5 | Client 5 | 104 |
9 | Client 9 | 499 |
10 | Client 10 | 303 |
J'ai besoin de récupérer ces données sous la forme d'un tableau avec une ligne par numéro client et une colonne par jour, avec les numéros de tournée par jour:
Client n° | Nom | LUN | MAR | MER | JEU | VEN | SAM |
1 | Client1 | 407 | |||||
3 | Client3 | 103 | 305 | 505 | |||
4 | Client4 | 107 | 403 | ||||
5 | Client5 | 104 | |||||
9 | Client9 | 499 | |||||
10 | Client10 | 303 | |
Voici donc la formule que j'ai placée dans chaque cellule, ici pour la colonne LUN:
=SI(ESTNA(INDEX(Extraction!$C:$C;EQUIV(1;(Extraction!$A:$A=$A2)*(GAUCHE(Extraction!$C:$C;1)="1");0)));"";INDEX(Extraction!$C:$C;EQUIV(1;(Extraction!$A:$A=$A2)*(GAUCHE(Extraction!$C:$C;1)="1");0)))
Je vérifie donc le numéro client puis le premier chiffre du numéro de tournée pour savoir si c'est un Lundi (1xx), Mardi (2xx) etc.
La formule fonctionne très bien mais lorsque je lance le calcul de ma page via un bouton, c'est très très long à calculer, puis Excel, puis tout mon pc, plantent.
Je vous sollicite donc afin de savoir si vous auriez une idée pour faire la même chose en moins gourmand?
Merci par avance à tous, je met un fichier exemple en pj.
kohta