Traitement des données Link myPeugeot par Excel


Beau travail
Merci beaucoup pour le fichier mac qui me permet d'afficher mes données
Seul l'onglet tableau n'affiche aucune donnée
 

Quelqu'un connait il la signification des codes 108 109 et 110 (je les ai très souvent dans mes données)
L'onglet tableau n'affiche toujours pas de données sur mac malgré plusieurs transferts de fichiers...
 

La version allemande
de.png
de mon p'tit fichier Excel est disponible sur le premier post du topic !
Un grand merci à WernerAT pour sa traduction [:thomcat:2] [:thomcat:2]
 

Salut thomcat,
Te serait-il possible de me fournir un exemple de fichier .trips ?
Afin d'essayer de le parser avec autre chose qu'EXCEL
Je te remercie
 

Salut thomcat,
Te serait-il possible de me fournir un exemple de fichier .trips ?
Oui, c'est possible, mais il existe plusieurs formes de fichiers .trips en fonction de l'OS du smartphone et de l'application mère. J'ai quelques unes de ces différentes formes, qui m'ont été transmises par des utilisateurs de Link my Peugeot ou de Link my Citroen en france et ailleurs et il me faut d'abord les rendre anonymes avant de pouvoir te les transmettre sans avoir à les contacter pour obtenir leurs autorisations, et ça, cela va me prendre du temps !!
Sinon, je voici le code de parsing (pas forcement optimisé mais qui fonctionne) que j'ai écrit pour excel :

Dim EntêteParamètres
Dim Paramètres(15)
ActiveSheet.Unprotect
EntêteParamètres = Array("destinationpositionaddrtext", "mileage", "daysuntilnextmaintenance", "updatedon", "destlongitude", "endpositionaddrtext", "fuelautonomy", "distancetonextmaintenance", "destlatitude", "maintenancepassed", "endlongitude", "fuellevel", "endlatitude", "vin", "trips", "alerts")

If InStr(1, TexteEntier, EntêteParamètres(15)) = 0 Then MaxParamètres = 14 Else MaxParamètres = 15
For i = 0 To MaxParamètres
If InStr(InStr(1, TexteEntier, EntêteParamètres(i)), TexteEntier, "," & Chr(34)) = 0 Then
Paramètres(i) = Mid(TexteEntier, InStr(1, TexteEntier, EntêteParamètres(i)) + Len(EntêteParamètres(i)) + 2, InStr(InStr(1, TexteEntier, EntêteParamètres(i)), TexteEntier, "}") - InStr(1, TexteEntier, EntêteParamètres(i)) - Len(EntêteParamètres(i)) - 2)
Else
If i > 13 Then
Paramètres(i) = Mid(TexteEntier, InStr(1, TexteEntier, EntêteParamètres(i)) + Len(EntêteParamètres(i)) + 2, InStr(InStr(1, TexteEntier, EntêteParamètres(i)), TexteEntier, "]") - InStr(1, TexteEntier, EntêteParamètres(i)) - Len(EntêteParamètres(i)) - 1)
Else
Paramètres(i) = Mid(TexteEntier, InStr(1, TexteEntier, EntêteParamètres(i)) + Len(EntêteParamètres(i)) + 2, InStr(InStr(1, TexteEntier, EntêteParamètres(i)), TexteEntier, "," & Chr(34)) - InStr(1, TexteEntier, EntêteParamètres(i)) - Len(EntêteParamètres(i)) - 2)
End If
End If
Next i

Dim EntêteTrajets
EntêteTrajets = Array("id", "vol", "dte", "typ", "dst", "tme", "mgd")
ReDim MesTrajets(UBound(EntêteTrajets, 1), 0)
DébutTrajet = 1
FinTrajet = 1
Do Until InStr(DébutTrajet, Paramètres(14), "{") = 0
For j = 0 To UBound(EntêteTrajets, 1)
MesTrajets(j, UBound(MesTrajets, 2)) = Mid(Mid(Paramètres(14), InStr(DébutTrajet, Paramètres(14), "{") + 2, InStr(FinTrajet, Paramètres(14), "}") - InStr(DébutTrajet, Paramètres(14), "{") - 2) & ",", InStr(1, Mid(Paramètres(14), InStr(DébutTrajet, Paramètres(14), "{") + 2, InStr(FinTrajet, Paramètres(14), "}") - InStr(DébutTrajet, Paramètres(14), "{") - 2) & ",", EntêteTrajets(j)) + 2 + Len(EntêteTrajets(j)), InStr(InStr(1, Mid(Paramètres(14), InStr(DébutTrajet, Paramètres(14), "{") + 2, InStr(FinTrajet, Paramètres(14), "}") - InStr(DébutTrajet, Paramètres(14), "{") - 2) & ",", EntêteTrajets(j)), Mid(Paramètres(14), InStr(DébutTrajet, Paramètres(14), "{") + 2, InStr(FinTrajet, Paramètres(14), "}") - InStr(DébutTrajet, Paramètres(14), "{") - 2) & ",", ",") - InStr(1, Mid(Paramètres(14), InStr(DébutTrajet, Paramètres(14), "{") + 2, InStr(FinTrajet, Paramètres(14), "}") - InStr(DébutTrajet, Paramètres(14), "{") - 2) & ",", EntêteTrajets(j)) - 2 - Len(EntêteTrajets(j)))
Next j
DébutTrajet = InStr(DébutTrajet, Paramètres(14), "{") + 1
FinTrajet = InStr(FinTrajet, Paramètres(14), "}") + 1
ReDim Preserve MesTrajets(UBound(EntêteTrajets, 1), UBound(MesTrajets, 2) + 1)
Loop
ReDim Preserve MesTrajets(UBound(EntêteTrajets, 1), UBound(MesTrajets, 2) - 1)

If IsEmpty(Paramètres(15)) = True Then GoTo Suite
Dim EntêteAlertes
EntêteAlertes = Array("date", "id", "issolved")
ReDim MesAlertes(UBound(EntêteAlertes, 1), 0)
DébutAlerte = 1
FinAlerte = 1

Do Until InStr(DébutAlerte, Paramètres(15), "{") = 0
For j = 0 To UBound(EntêteAlertes, 1)
MesAlertes(j, UBound(MesAlertes, 2)) = Mid(Mid(Paramètres(15), InStr(DébutAlerte, Paramètres(15), "{") + 2, InStr(FinAlerte, Paramètres(15), "}") - InStr(DébutAlerte, Paramètres(15), "{") - 2) & ",", InStr(1, Mid(Paramètres(15), InStr(DébutAlerte, Paramètres(15), "{") + 2, InStr(FinAlerte, Paramètres(15), "}") - InStr(DébutAlerte, Paramètres(15), "{") - 2) & ",", EntêteAlertes(j)) + 2 + Len(EntêteAlertes(j)), InStr(InStr(1, Mid(Paramètres(15), InStr(DébutAlerte, Paramètres(15), "{") + 2, InStr(FinAlerte, Paramètres(15), "}") - InStr(DébutAlerte, Paramètres(15), "{") - 2) & ",", EntêteAlertes(j)), Mid(Paramètres(15), InStr(DébutAlerte, Paramètres(15), "{") + 2, InStr(FinAlerte, Paramètres(15), "}") - InStr(DébutAlerte, Paramètres(15), "{") - 2) & ",", ",") - InStr(1, Mid(Paramètres(15), InStr(DébutAlerte, Paramètres(15), "{") + 2, InStr(FinAlerte, Paramètres(15), "}") - InStr(DébutAlerte, Paramètres(15), "{") - 2) & ",", EntêteAlertes(j)) - 2 - Len(EntêteAlertes(j)))
Next j
DébutAlerte = InStr(DébutAlerte, Paramètres(15), "{") + 1
FinAlerte = InStr(FinAlerte, Paramètres(15), "}") + 1
ReDim Preserve MesAlertes(UBound(EntêteAlertes, 1), UBound(MesAlertes, 2) + 1)
Loop
If UBound(MesAlertes, 2) > 0 Then ReDim Preserve MesAlertes(UBound(EntêteAlertes, 1), UBound(MesAlertes, 2) - 1)


TexteEntier est le contenu du fichier .trips,
Paramètres est un tableau unidimensionnel qui contient les 15 données principales (dont les trajets et les alertes)
MesTrajets est un tableau qui contiendra au final les données des trajets (7 items × nombre de trajets)
MesAlertes est un tableau qui contiendra, le cas échéant, au final les données des alertes(3 items × nombre d'alertes)
EntêteParamètres, EntêteTrajets et EntêteAlertes te donnent une idée de ce qui faut chercher à parser, sachant qu'en fonction de la forme du fichier .trips, les données ne sont pas toujours dans le même ordre ou séparées par les mêmes caractères...

Bon décryptage !!! :pt1cable:
 

OK Thomcat, merci pour ton source vba
J'attends, dès que tu pourras ton(tes) fichier(s) trips
Excellent boulot
 


Salut Thomcat,
Question : Dans l'application LinkMyPeugeot lorsque tu fais un export, que se passe-t-il ?
On retire de l'application ce qu'elle a dans le ventre, et on reçoit (au format trips) le résultat de cette extraction ou alors quoi ?
Merci
 

Salut Thomcat,
Question : Dans l'application LinkMyPeugeot lorsque tu fais un export, que se passe-t-il ?
On retire de l'application ce qu'elle a dans le ventre, et on reçoit (au format trips) le résultat de cette extraction ou alors quoi ?
Merci
Lorsque tu exportes tes données depuis Link my Peugeot, celles-ci restent bien au chaud dans l'application du smartphone et un fichier texte (avec une extension .trips) et toutes ces données est envoyé à l'adresse mail choisie.
Pour mon fichier Excel, j'ai choisi de traiter à chaque fois l'ensemble des données et non pas seulement les dernières ajoutées.
 

Salut,

Tout d'abord, merci pour le travail effectué et le partage de celui-ci.
On sent la maitrise d'Excel!

J'ai malheureusement deux petits soucis:
- Dans l'onglet "tableau", je n'ai aucune donnée, je n'ai que la première ligne
- Maintenance dans 65535 jours :pt1cable:

Type de véhicule >> 308II Berline
Version de SMEG+ >> 5.2.C.R1
OS et type de smartphone >> iphone 6 sous iOS 8.4
OS d'ordinateur >> Windows 8.1 Pro
Type et version d'Excel (Microsoft, Ooo, LO, Mac...) >> Microsoft Excel 2013

Si tu as besoin d'autres infos (capture d'écran, fichier etc)

Merci par avance
 

- Dans l'onglet "tableau", je n'ai aucune donnée, je n'ai que la première ligne
Salut dans l'onglet tableau utilises l'ascenseur de droite pour remonter dans la feuille tu devrais pouvoir voir des données sur les premières lignes
 

Salut dans l'onglet tableau utilises l'ascenseur de droite pour remonter dans la feuille tu devrais pouvoir voir des données sur les premières lignes
Effectivement!

J'ai posé plus vite la question que je n'ai cherché... :sweat:

Merci
 

Tout d'abord, merci pour le travail effectué et le partage de celui-ci.
On sent la maitrise d'Excel!
:coucou: , :chinois:
Maintenance dans 65535 jours
Pour ça, malheureusement le fichier excel n-y peut rien, c'est une information transmise par ton SMEG+ à l'application Link my Peugeot (tu devrais d'ailleurs retrouver cette info erronée dans celle-ci), puis exportée dans le fichier .trips.
Mon fichier Excel restitue alors bêtement cette fausse information.
Est-elle liée à une fausse date du SMEG+ (à vérifier), à une autre info du site ou de l'application My Peugeot ?
Personnellement, je n'ai jamais eu ce type d'erreur sachant que :
  • J'ai lancé sur mon smartphone Link my Peugeot dès le 1° trajet (en sortant de la concession)...
 

Pour mon fichier Excel, j'ai choisi de traiter à chaque fois l'ensemble des données et non pas seulement les dernières ajoutées.
J'avais remarqué cette astuce... A chaque importation cela permet de supprimer la précédente et surtout d'avoir la certitude de ne rien oublier.
Encore bravo pour cet excellent travail dont tu nous fais profiter.
"Smeg +" et "Tableau de Bord" sont de petits chefs-d'oeuvre. :love:
 

"Smeg +" et "Tableau de Bord" sont de petits chefs-d'oeuvre. :love:
Merci !!! :chinois: mais rendez aussi hommage à BC40 car c'est à lui que revient l’idėe originale de ces 2 onglets que je n'ai que quelque peu améliorés...
 

La version hollandaise
nl.png
de mon p'tit fichier Excel est disponible sur le premier post du topic !
Un grand merci à Mikado2 pour sa traduction [:thomcat:2] [:thomcat:2]
 

Merci thomcat, ton fichier est vraiment super!

En revanche chez moi il y a décalage des images par rapport aux icones/aiguilles sur les écrans "308".

Ma config pour info: Win 8.1/Office 2013

Autre problème: tu écrases toutes les données à chaque nouvelle importation mais du coup on perd les "prix carburant"
 

Merci thomcat, ton fichier est vraiment super!
:chinois:
En revanche chez moi il y a décalage des images par rapport aux icones/aiguilles sur les écrans "308".
je cherche...
tu écrases toutes les données à chaque nouvelle importation mais du coup on perd les "prix carburant"
Modification faite dans les versions 2.22e à télécharger depuis le 1° post du topic !!!
 

Un grand merci...c'est un super boulot!
J'avais effacé les premiers trajets sur l'appli link elle même au début en me disant que ce n'était pas représentatif....et maintenant que l'on eput conserver l'historique grâce à ton fichier je le regrette...y aurait il un moyen de les récupérer?
Si j'installe l'appli link sur un autre tél que se passe t il?
 

Un grand merci...c'est un super boulot!
Merki :chinois:
J'avais effacé les premiers trajets sur l'appli link elle même au début en me disant que ce n'était pas représentatif....et maintenant que l'on peut conserver l'historique grâce à ton fichier je le regrette...y aurait il un moyen de les récupérer?
Si j'installe l'appli link sur un autre tél que se passe t il?
Je ne peux répondre à ces questions car j'ai installé l'application avant d'avoir ma 308, mais je pense que tu ne risques rien à essayer !!
 

Si j'installe l'appli link sur un autre tél que se passe t il?
Ça récupère les données depuis le dernier trajet qui n'a pas été envoyé à l'ancien tél. Donc si on ne les a pas sauvegardées, et sauf à ce qu'il existe une manip particulière, elles sont perdues.
 

Salut,

Ma 308 est allée chez le CC pour le problème de peinture sur un optique arrière + montage attelage.
Les trajets effectués par le CC ce sont mis en 2007.
J'ai voulu modifier la valeur dans excel, mais la formule est incompréhensible pour moi. Comment puis je changer la date?
Cela fausse mes graphes.

Merci
 

Bonsoir, premier bug, depuis mon dernier trajet de ce jour, je n ai plus d onglet. Smeg et d onglet tableau de bord dur le fichier excel, et vous?, merci.
 

:coucou:
Les trajets effectués par le CC ce sont mis en 2007.
J'ai voulu modifier la valeur dans excel, mais la formule est incompréhensible pour moi. Comment puis je changer la date?
Cela fausse mes graphes.
  • Ecrases la formule en tapant la date dans la cellule erronée de l'onglet "Tableau" (mais tu devras le faire à chaque fois que tu importes un nouveau fichier .trips)
Bonsoir, premier bug, depuis mon dernier trajet de ce jour, je n ai plus d onglet. Smeg et d onglet tableau de bord dur le fichier excel, et vous?, merci.
Il n'y a aucune raison à la disparition de ces 2 onglets, aucune instruction des macros ne manipule les onglets. Essayes quand même d'afficher les onglets masqués, peut être ils le sont !!! Sinon, télécharges de nouveau le fichier excel depuis le post n°1 du topic (celui typé 308II, l'autre n'a pas les 2 onglets incriminés !!).
 

Bonjour, merci Thomcat, j ai effacé tout et j ai retéléchargé le fichier, maintenant c est revenu à la normale ; tout y est inscrit , merci encore et bonne journée ( chaude ) .
 


La question qui tue :
J'ai un classeur fait sous MS-Excel avec des macros. Cela ne fonctionne plus sous Calc. Que dois-je faire ?
- ou -
J'ai un modèle fait sous MS-Word avec des macros. Cela ne fonctionne plus sous Writer. Que dois-je faire ?

Le langage Basic entre les deux logiciels est incompatible. Vous devez donc redévelopper vos macros.

Il existe depuis la 2.4.0, un interpréteur de VBA pour MS-Excel mais il est loin d'être parfait. Il suffit de mettre en début de code la ligne :
CODE : TOUT SÉLECTIONNER RÉDUIRE
Option Compatible
ou
CODE : TOUT SÉLECTIONNER RÉDUIRE
Option VBASupport 1

Ce mode induit des changements dans le comportement des instructions du Basic OpenOffice uniquement dans le module Calc. Ceci afin d'avoir une certaine compatibilité avec le VBA de MIcrosoft.

Bon développement
 

I tried "Trajet MyPSA v2.22e308II_ned.xlsm version Windows Excel 2007-2010 typée new 308 en hollandais : 1498 ko"
but a message of the following error appeared:

"Fout 1004 tijdens uitvoering:
Methode Range van object_Global is mislukt."

What can I do?

P.S. When I used "Trajet MyPSA v2.22e308II.xlsm version Windows Excel 2007-2010 typée new 308 : 1504 ko", this message didn't appear.