Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1323 connectés 

 

 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  28  29  30  31  32  33
Page Suivante
Auteur Sujet :

[POGNON] Un tableur pour compter son argent & analyser les perfs.

n°68912503
waylan
Posté le 30-07-2023 à 12:56:47  profilanswer
 

Reprise du message précédent :

Kyjja a écrit :

Quelqu'un pour sortir :

 

- Les dates MaJ
- L'allocation géographique

 

Ça semble tout cassé.

 

Pas de dysfonctionnement de mon côté.


Message édité par waylan le 30-07-2023 à 12:57:08

---------------
Parrainage Star Citizen : STAR-P644-LXV7
mood
Publicité
Posté le 30-07-2023 à 12:56:47  profilanswer
 

n°68913894
maaah
Posté le 30-07-2023 à 16:41:43  profilanswer
 

Chez moi cette partie ne fonctionne plus depuis des mois.
Mais vu que ces trucs à base de importXML sont voués à merder à choqué fois qu’un désigner s’amuse à changer quelque chose sur le site source, j’ai décidé de lâcher l’affaire…

n°68914018
Kyjja
Liquefaction imminente
Posté le 30-07-2023 à 17:05:42  profilanswer
 

[:sombrero67]

 

- Mes DateMaJ (col F) pointent vers funds360 (col Q) avec la formule suivante :

Code :
  1. =TRANSPOSE(IMPORTXML(Q9;"//*[@id='lastUpdate']/strong" ))


- Pour l'allocation par zone géographique, j'ai la colonne BJ qui a le "code XML importé ne pouvant pas être analysé" et dont la formule est :

Code :
  1. =SI(ESTVIDE(T9);;transpose(IMPORTXML(T9;"//*[@id='fiche_fonds']/table/tbody/tr[10]/td/div[2]/table/tbody/tr[2]/td[1] | //*[@id='fiche_fonds']/table/tbody/tr[10]/td/div[2]/table/tbody/tr[2]/td[2] |
 

avec la colonne T le site sicavonline :

Code :
  1. https://www.sicavonline.fr/index.cf [...] 9&onglet=3
 

J'ai manqué une MaJ sur le topic ? [:sombrero67]

 

Edit : Preneur aussi de la logique pour parser le XML, ça m'évitera de vous embêter à chaque fois  [:grande greluche:7]

Message cité 1 fois
Message édité par Kyjja le 30-07-2023 à 17:07:21

---------------
HWBot | Conso GPU | Who's who PSU | Mes BD \o/ | GReads | MSpaint
n°68914197
waylan
Posté le 30-07-2023 à 17:52:54  profilanswer
 

Kyjja a écrit :


[... ]
J'ai manqué une MaJ sur le topic ?

 

[... ]

 

Oui, je pense.
Suite à une maj de fund360 il y a un moment maintenant le parsing est devenu merdique.
Nous récupérons les valeurs à partir de quanta lus depuis ce moment là pour la plupart.
Remonte quelques posts/pages et tu auras les solutions pour que ton fichier fonctionne de nouveau ;)

 


---------------
Parrainage Star Citizen : STAR-P644-LXV7
n°68914955
Kyjja
Liquefaction imminente
Posté le 30-07-2023 à 21:27:11  profilanswer
 

En mai on l'avait fait pour les valeurs mais pas les dates/zones géo.
 
En m'inspirant d'un autre de tes postes, j'arrive à récupérer la date via quantalys :
 

Code :
  1. =IMPORTXML(S20;
  2. "//span[@class='vl-box-date']" )


 
avec S20 l'URL quantalys


---------------
HWBot | Conso GPU | Who's who PSU | Mes BD \o/ | GReads | MSpaint
n°70315284
otobox
Maison fondée en 2005
Posté le 21-03-2024 à 18:08:36  profilanswer
 

Bonjour  [:cerveau drapal]

 

Merci pour le travail fait, j'en ai tiré de bonnes idées pour mon classeur de suivi.

 

J'ai lu toutes les pages du topic et notamment la discussion intéressante sur le calcul du PRU. Je trouve ça étonnant qu'aucune fonction native ne soit prévue sur Sheets ?
Alors comme dans la vie faut être pratique quand on veut ce que l'on a pas (comme disait le poète) j'en ai écrit une que je partage ici. Je ne suis pas trop à l'aide avec le JS, le code est certainement perfectible, si vous avez des améliorations, n'hésitez pas à les partager :) (notamment un gestionnaire d'erreur).

 

La fonction calcul le PRU et permet en option de le calculer en fonction des produits. Ainsi, pas besoin d'avoir une liste chronologique par produit, la fonction est capable de sortir le PRU pour chaque produit considéré (voir exemple 1 sur le classeur partagé ci-dessous).

 

Le code :

 
Code :
  1. /**Calcul de PRU (Prix de Revient Unique)
  2. *@param {nombre|Tableau<nombres>} colCouts      Colonne des coûts de la transaction
  3. *@param {nombre|Tableau<nombres>} colNbActions  Colonne du nombre d'actions achetées
  4. *@param {Tableau<strings>} colProduits          [Optionnel] Colonne indiquant le nom des produits
  5. *@param {string} prod                           [Optionnel] Cellule donnant le nom du produit à filtrer
  6. *@return {Nombre}                               Le PRU
  7. *@customfunction
  8. */
  9. function PRU(colCouts, colNbActions, colProduits, prod) {
  10.   // Mise en tableaux des valeurs en entrée
  11.   var couts = new Array;
  12.   var nbAct = new Array;
  13.   var produits = new Array;
  14.   couts = colCouts;
  15.   nbAct = colNbActions;
  16.   produits = colProduits;
  17.   if (Array.isArray(couts) & Array.isArray(nbAct)) {
  18.     var tab = new Array;
  19.     // Composition d'un nouveau tableau filtré si nécessaire à partir des colonnes entrées
  20.     // tableau tab : 1ere colonne : Coûts, 2e colonnes : nbActions achetées
  21.     var j = 0; // Numéro de ligne du tableau tab
  22.     for(var i = 0; i < couts.length; i++) {
  23.       // Si la colonne des produits et le nom du produit à filtrer n'est pas indéfini,
  24.       // vérifier si la ligne lue correspond au produit 'prod'
  25.       if (!(colProduits === undefined & prod === undefined)) {
  26.         if (produits[i] == prod){  // si ça correspond, ajouter au tableau
  27.           Logger.log("prod : " + prod);
  28.           Logger.log("produits : " + produits);
  29.           tab[j]=new Array(2);
  30.           tab[j][0] = couts[i][0];
  31.           tab[j][1] = nbAct[i][0];
  32.           j++;
  33.         }
  34.       } else { // Sinon ajouter toutes les lignes trouvées
  35.         tab[i]=new Array(2);
  36.         tab[i][0] = couts[i][0];
  37.         tab[i][1] = nbAct[i][0];
  38.       }
  39.     }
  40.     // Calcul du PRU
  41.     var nbActions0 = 0; // Nb d'actions détenues avant achat
  42.     var prix = 0; // PRU final à retourner
  43.     var nbActions = 0; // Nb d'actions totales après achat
  44.     // Le PRU se calcul comme ceci :
  45.     // Si nombre d'action est >0 alors :
  46.     // [nouveau PRU] = ([Nb d'actions avant achat] x [PRU avant achat] + [Coût achat]) / [Nb total d'actions après achat]
  47.     //
  48.     // Itération du tableau pour calcul du PRU de chaque achat
  49.     for (var i = 0; i < tab.length; i++) {
  50.       nbActions=tab[i][1] + nbActions0
  51.       if (tab[i][1] > 0) {
  52.         prix = (prix * nbActions0 + tab[i][0]) / nbActions
  53.         }
  54.       nbActions0=nbActions
  55.     }
  56.   } else {
  57.     prix = colCouts/colNbActions;
  58.   }
  59.   // Retourne la valeur du PRU;
  60.   return prix;
  61. }
 

Et le classeur avec 2 exemples :
https://docs.google.com/spreadsheet [...] sp=sharing

 

C'est la première fois que je partage un classeur avec une fonction personnalisée, je ne sais pas si le code va suivre. Pour le voir (ou le recopier) il faut aller dans le menu Extensions > Apps Scripts.
Comme les autres classeurs ici, après l'avoir ouvert, il faut créer une copie : menu Fichiers > Enregistrer une copie.
Probablement que vous aurez un message de sécurité lors de l'exécution du code, il faut accepter sinon ça ne marchera pas.

 

En espérant que ça vous sera utile, n'hésitez pas à faire un retour ! :)

Message cité 1 fois
Message édité par otobox le 21-03-2024 à 18:12:51

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°70325541
gusano
Posté le 23-03-2024 à 11:58:39  profilanswer
 

otobox a écrit :

quand on veut ce que l'on a pas  

Merci pour cette ref' sorti de nulle part, je vais dépoussiérer un bon vieil album :D
 
(et merci, bien sûr, pour le partage du code :jap:)

n°70325665
otobox
Maison fondée en 2005
Posté le 23-03-2024 à 12:21:19  profilanswer
 

;)


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°71369373
meuniere
Posté le 20-08-2024 à 22:24:14  profilanswer
 

:hello:
J'utilise un tableur excel, pris ici de mémoire, pour suivre sur le même principe, depuis boursorama.

 

Depuis quelques semaines, je n'ai plus les centimes sur les dates de valeurs.
Je pense qu'il ont remplacé la virgule qui était en "." par "," dans le code.
J'ai essayé avec quantalys mais je n'arrive pas à adapter la macro.

 

Est-ce qu'il y a d'autres sources que je pourrais utiliser ?
Ou moyen de modifier la macro actuelle ?

 

Actuellement j'utilise juste les balises avant/après : " data-ist-last> et </span><span
Ex. avec l'ETF world : https://www.boursorama.com/bourse/t [...] s/1rTEWLD/


Message édité par meuniere le 20-08-2024 à 22:29:40
n°71370131
zeroz
ㅤㅤ ✭┈ nil volentibus arduum ┈✭
Posté le 21-08-2024 à 00:05:18  profilanswer
 

Tu n'as pas essayé avec chatGPT ? il te dira précisément quoi modifier dans ta macro Excel.
Balance nous au moins le bout de code de ta macro qui ne marche plus.
 
Sûrement un truc comme ça :

Sub MAJcours()
 
On Error Resume Next
'Worksheets("MAJcours" ).Select
 
Dim i%, k%, URL$
k = Cells(Rows.Count, [REF].Column).End(xlUp).Row
'Range(Cells(2, [Cotation].Column), Cells(k, [Cotation].Column)).Clear
 
For i = 3 To k
    Cells(i, 9).Interior.Color = 255
Next
 
avant = "</div><div><span class=""c-instrument c-instrument--last"" data-ist-last>"
apres = "</span>"
For i = 3 To k
    DoEvents
    URL = Cells(i, [WWW].Column).Value
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP" )
        .Open "GET", URL, False
        .Send
        If Cells(k + 1, [precedent].Column).Value <> Cells(k + 1, [Cotation].Column).Value Then
             Cells(i, [precedent].Column).Value = Cells(i, [Cotation].Column).Value
        End If
        If .Status = 200 Then Cells(i, [Cotation].Column).Value = Replace(Split(Split(.responseText, avant)(1), apres)(0), " ", "" )
 
    End With
    Cells(i, 9).Interior.Color = 3381555
Next
Cells(k + 1, [precedent].Column).Value = Cells(k + 1, [Cotation].Column).Value
 
'Worksheets("Récapitulatif" ).Select
 
End Sub


Cotation = colonne des cours actuel
precedent = colonne des cours précédents
WWW = colonne des url bourso


Message édité par zeroz le 21-08-2024 à 10:37:48
mood
Publicité
Posté le 21-08-2024 à 00:05:18  profilanswer
 

n°71374372
Grimnar78
Posté le 21-08-2024 à 19:23:53  profilanswer
 

J'utilise maintenant les fonctions intégrées d'Excel avec les types de données pour récupérer les valeurs. C'est pas mal. Les valeurs ne sont pas aussi à jour que sur Quantalys (ou Fortuneo dans ma config de scraping précédent), mais ça se joue à quelques minutes/heures. Exception pour la modification récente du WPEA qui lui a bien traîné presque 1 mois à pointer vers l'ancienne valeur. A l'inverse, ça me trouve certaines valeurs que Fortuneo ne connaissait pas, mais Bourso est mieux fourni :jap:

n°71374492
meuniere
Posté le 21-08-2024 à 19:55:54  profilanswer
 

Je n'ai pas excel 365 donc pas ces fonctions.

 

Voilà la macro :

 
Citation :

Sub MajCotations()
    col = [www].Column
    DoEvents
    For i = [www].Row + 1 To Cells(Rows.Count, col).End(xlUp).Row
    For k = 1 To 2
        With CreateObject("MSXML2.XMLHTTP" )
            .Open "GET", Cells(i, col), False
            .Send
            If .Status = 200 Then Cells(i, col + k) = Val(Split(Split(.responseText, Cells(1, col + k))(1), Cells(1, col + k))(0))
        End With
        Next
        Next
End Sub

 

Globalement c'est le même principe, mais je suis trop nulle en macro pour trouver comment la corriger.


Message édité par meuniere le 21-08-2024 à 19:58:29
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  28  29  30  31  32  33
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[POGNON] Investissements solidaires - Impact Investing - ISR - éthiqueTransfert d'argent dans un couple.
L'argent est- t- il énergie ou matière première de l'univers ?Besoin d'argent pour les vacances
[POGNON] Le topic SAV : aide souscription, gestion, vie des comptes[Crédit] Reserve d'argent / découvert
[pognon] Erreur de TEG[POGNON] Modèle excel investissment locatif
[T.U] Présidentielles 2017 - Placé 2022gagner de l'argent avec son pc
Plus de sujets relatifs à : [POGNON] Un tableur pour compter son argent & analyser les perfs.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR