XL pour MAC RESOLU - Calcul mensuel d'utilisateurs multiples sur fichier importé

Imrin

XLDnaute Nouveau
Bonjour à tous,

Je me débrouille d'habitude avec excel soit avec mes connaissances soit en bidouillant des formules ou des macros (même si je suis moins à l'aise) pour faire ce que je veux mais là j'ai un soucis qui demande de l'aide d'experts.

Désolé si le titre est pas très parlant mais ça explique (un peu) tout ce que je veux faire.

Je suis sur excel for mac 2011 et j'ai un fichier importé sous format texte listant des expériences "pavé de lignes" par "pavé de lignes" dont j'essaie de faire des stats.

Voici ce que j'ai comme exemple (c'est un petit échantillon, j'ai au moins 30k lignes comme ça):

#Login
name: XXX
group: AAAAA
date: 12/21/2015 15:38:13 1450708693
nameOfExperiment: BLABLA
fileSizeAcq: 32768
fileSizeProc: 65536
#User Specific Info
timeOfStart: 12/21/2015 15:38:13 1450708693
timeOfTermination: 12/21/2015 15:49:00 1450709340
nameOfExperiment: BLABLA
fileSizeAcq: 32768
fileSizeProc: 65536
#User Specific Info
timeOfStart: 12/21/2015 15:49:00 1450709340
timeOfTermination: 12/21/2015 16:02:58 1450710178
#Logout
date: 01/05/2016 10:37:35 1451986655
#Login
name: YYY
group: AAAAA
date: 01/05/2016 10:37:35 1451986655
nameOfExperiment: BLABLA
fileSizeAcq: 65536
fileSizeProc: 65536
#User Specific Info
timeOfStart: 01/05/2016 16:05:13 1452006313
#Failure
timeOfTermination: 01/05/2016 16:05:32 1452006332
#Login
name: ZZZ
group: AAAAA
date: 01/06/2016 08:39:57 1452065997
nameOfExperiment: BLABLA
fileSizeAcq: 32768
fileSizeProc: 65536
#User Specific Info
timeOfStart: 01/06/2016 08:39:57 1452065997
timeOfTermination: 01/06/2016 09:29:53 1452068993
#Logout
date: 01/06/2016 09:29:53 1452068993

Je voudrais que pour chaque utilisateur différent (référencé par XXX, YYY, ZZZ...) cela me fasse la somme du temps d'expérience (différence entre timeofstart et timeoftermination) ainsi que le nombre d'expériences pour chaque mois de l'année.

Il y a quelques difficultés aussi.
Les dates sont au format américain MM/DD/YY.
Le #Login n'est pas toujours suivi d'un #Logout mais est toujours au moins suivi par un autre #Login d'un autre utilisateur.
Si un #Failure s'insère entre un timeofstart et un timeoftermination, il ne faut pas compter ni le temps ni l'expérience.

Sinon pour information : le long nombre à la fin de la date (1452065997 par exemple) est un timestamp qui donne la date en nombre de seconde, ça facilite les soustractions mais ça m'aide pas pour la mise en forme.

Sinon je conçois que c'est une demande très spécifique et qu'excel est peut-être pas le meilleur moyen de m'en sortir mais j'ai déjà d'anciennes stats sur un classeur excel. Après je suis ouvert à toute suggestion.

Je joins un classeur contenant l'exemple donné dans ce fil pour que ce soit plus simple à voir.

Merci d'avance et bonne journée.
 

Pièces jointes

  • Classeur1.xlsx
    40.2 KB · Affichages: 38

Imrin

XLDnaute Nouveau
Bonjour et merci Pierrejean d'avoir prit le temps de travailler sur mon problème !

Comme je suis sur deux services différents et que je ne retournerai pas sur le mac du premier avant 2 semaines (vacances au milieu), j'ai testé votre macro sur un windows équipé d'excel 2010. Je sais pas si ça change quelque chose mais voici mon retour.

Ça marche très bien avec l'exemple donné. YYY est bien ignoré avec la #failure au milieu. Merci !

Par contre quand je rentre mes autres données, je reçois une "erreur d'éxécution '13', incompatibilité de type" et le débugueur me renvoie sur la ligne "t = t + Split(Z(m), ";")(1) - Split(Z(m), ";")(0)".

En googlant cette erreur, on dirait que c'est un problème de format... j'ai bêtement copié l'exemple posté dans le corps de mon texte du forum sur le fichier excel joint précédemment. Je sais pas si ça joue mais autant réduire les risques et je joint donc un nouveau fichier directement extrait du fichier texte.

Merci encore et bonne journée
 

Pièces jointes

  • Classeur1.xlsx
    9.3 KB · Affichages: 30

pierrejean

XLDnaute Barbatruc
Re
Il y a effectivement une légère différence de format dans les lignes timeOff
Avec quelque lignes supplémentaires je peux m'en affranchir
Vois les 2 fichiers
 

Pièces jointes

  • Classeur1 (31).xlsm
    17.6 KB · Affichages: 40
  • Classeur1 (30) (1).xlsm
    22.8 KB · Affichages: 39

Discussions similaires

Réponses
17
Affichages
3 K

Statistiques des forums

Discussions
312 801
Messages
2 092 244
Membres
105 312
dernier inscrit
DD07