Transformer script "wintask" en language VBA

Bonjour, est ce que quelqu'un pourrait m'aider : pour automatiser une saisie de données fastidieuse d'excel vers un site internet j'ai eu recours à wintask (parce que je ne sais pas creer ce genre de macro toute seule) mais je n'ai qu'une version d'essai qui va se finir dans pas longtemps et en plus ça beug en zapant de saisir certaines cellules.

J'explique un peu j'ai des déplacements professionnels que je dois saisir une à une sur le site du comptable (à partir d'un tableau excel sur mon pc)

motifclientdateoriginedestinationdistancecommentaire
ProspectionClient 129/05/2020société 1société 285,8Trajet aller-retour
ProspectionClient 202/06/2020société 1société 3176,568Trajet aller-retour
ProspectionClient 310/06/2020société 1société 4178,57Trajet aller-retour
RDV de travailClient 418/06/2020société 1société 5140,134Trajet aller-retour

chaque ligne est saisie dans une fenêtre et il faut ajouter un trajet à chaque fois.

image

j'ai ce script sur wintask

Dim motif$(100)
Dim client$(100)
Dim dat$(100)
Dim origine$(100)
Dim destination$(100)
Dim distance$(100)
Dim commentaire$(100)

fichier$="Classeur1.xlsx"
ReadExcel(fichier$,"A2:A100",motif$())
ReadExcel(fichier$,"B2:B100",client$())
ReadExcel(fichier$,"C2:C100",dat$())
ReadExcel(fichier$,"D2:D100",origine$())
ReadExcel(fichier$,"E2:E100",destination$())
ReadExcel(fichier$,"F2:F100",distance$())
ReadExcel(fichier$,"G2:G100",commentaire$())

StartBrowser("IE", "https://ecl.fizen-expert.fr/frais-kilometriques/deplacements")

i=0
repeat
UsePage("Mes indemnités kilométriques | Fizen-expert")
ClickHTMLElement("A[INNERTEXT= 'Ajouter un trajet']")
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[rea']", motif$(i))
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[cus']", client$(i))
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[fro']", origine$(i))
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[to]']", destination$(i))
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[dis']", distance$(i))
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[com']", commentaire$(i))
WriteHTML("INPUT TEXT[NAME= 'ecl_mileage_trip[dat']", dat$(i))
ClickHTMLElement("BUTTON[INNERTEXT= 'Valider le trajet']")

Pause 10 sec
i=i+1
until motif$(i)=""

est ce que quelqu'un pourrait m'aider pour creer une macro avec ce "charabia"

Merci d'avance

Bonjour,

Bonjour, est ce que quelqu'un pourrait m'aider : pour automatiser une saisie de données fastidieuse d'excel vers un site internet j'ai eu recours à wintask (parce que je ne sais pas creer ce genre de macro toute seule) mais je n'ai qu'une version d'essai qui va se finir dans pas longtemps et en plus ça beug en zapant de saisir certaines cellules.

est ce que quelqu'un pourrait m'aider pour creer une macro avec ce "charabia"

Merci d'avance

est-ce toujours d'actualité ?

mon expérience est d'utiliser AutoIt, on pourrait faire une essai...

bonsoir, oui le sujet est tjs d’actualité, je ne connais pas le logiciel dont vous me parler je vais jeter un coup d’œil mais oui volontiers pour un essai.

Merci

ok, je te fais une liste de questions demain pour préparer un essai

edit : après réflexion, je pense qu'on peut le faire en direct entre excel et le logiciel. Je prépare un bout d'essai ...

1er essai pour savoir où je mets les pieds

Dans le fichier

  1. Clique sur Lancer et dis moi ce qui se passe
  2. Clique ensuite sur Tester et dis moi ce qui se passe

si tu peux me faire une copie d'écran ce serait parfait ! (en mp si tu le souhaites)

Bonjour, en premier lieu merci pour ta réponse :

image

Voila ce que ça donne quand je clique sur lancer

En cliquant sur Lancer ou Tester ?

Essaye juste celui-ci sur Lancer

Si cela ne fonctionne pas, on passera alors sur AutoIt en interface.

Parfait ça marche pour ouvrir le site en question quand je clique sur lancer

ok, c'était l'autre partie qui coinçait alors

question : étais-tu sur la page d'identification login ou directement dans le formulaire indemnités de déplacement ?

je vais donc rester sur une solution excel avec un test que je te donnerai ce soir sans doute (je suis malheureusement pris cet apm)

Merci, ça m'envoi directement aux indemnités kilométriques.

Merci pour le temps que vous me consacrez

Est-ce que je peux te mettre à contribution sur un autre point. Peux-tu lancer cet outil inoffensif (je peux donner le code source) qui remplace ce qui ne fonctionnait pas précédemment.

21liste-fenetres.zip (413.06 Ko)

et me donner une copie du fichier texte qui en découlera

Autre chose, dans Indemnités kilométriques, quand ton curseur est sur la première zone, est-ce que au bout de 7 tabulations tu es sur commentaires ou sur véhicule ?

Bonjour, navrée pour le retard de ma réponse (problème de chargeur pc cassé, j'ai un nouveau youpiii), alors pourle fichier texte je vous envoi le resultat.

et pour la fenêtre indemnités kilométrique au bout de 7tab je me retrouve sur véhicule.

Merci

15essai.txt (855.00 Octets)

Bonjour,

Est-ce que l'application "Indemnités kilométriques - Nouveau Trajet" était bien ouverte ? je ne la vois pas dans la liste ! A moins que ce soit "Microsoft Text Input Application"

OUPS PETITE ERREUR

17essai2.txt (0.99 Ko)

Parfait, j'ai maintenant tout ce qu'il me faut pour t'envoyer un test demain matin.

Voici, je croise les doigts. J'ai fait un test chez moi sur un clone de ton appli et cela fonctionne parfaitement.

  • Il faut avoir lancé au préalable l'application.
  • Question : est-ce que le curseur est automatiquement positionné sur Motif ? si ce n'est pas le cas, il faut le faire manuellement.
  • Reviens ensuite sur excel et appuie sur le bouton rouge, à renouveler à chaque ligne (ok sera inscrit colonne I)
Option Explicit

Sub transférer()
' https://ecl.fizen-expert.fr/frais-kilometriques/deplacements

Dim indicOK As String
Dim k As Integer, j As Integer, sequence As String

    indicOK = "I"

    ' première ligne non transférée
    k = Cells(Rows.Count, indicOK).End(xlUp).Row + 1

    sequence = ""
    For j = 1 To Cells(k, Columns.Count).End(xlToLeft).Column
        sequence = sequence & Cells(k, j) & "{TAB}"
    Next
    Debug.Print sequence

    AppActivate "Mes indemnités kilométriques | Fizen-expert - Personnel - Microsoft? Edge"
    ' AppActivate "Mes indemnités kilométriques | Fizen-expert - Personnel - Personnel - Microsoft? Edge"
    ' AppActivate "Sans titre - Bloc-notes"
    Application.SendKeys sequence
    Cells(k, indicOK) = "ok"

End Sub

Si cela fonctionne, on pourra aussi appuyer sur le bouton en automatique.

Bonne chance !

Parfait je l’essaye demain matin

Voici comment cela fonctionne

ik

Bonjour je viens de le tester mais ça ne marche pas

image

Navrée

Je ne sais pas si ça change quelque chose mais on peut utiliser la page //ecl.fizen-expert.fr/frais-kilometriques/deplacements/nouveau

image

à la place de la fenêtre

image

Si tu changes d'interface, cela ne fonctionnera pas sans modifier le programme.

Repasse dans ce cas ceci et donne moi le fichier texte https://forum.excel-pratique.com/excel/tranformer-script-wintask-en-language-vba-149275#p926046

Le nom de la fenêtre qui permet d'y accéder doit tout simplement être différent !

Rechercher des sujets similaires à "transformer script wintask language vba"