Microsoft 365 vba connexion site sécurisé et manipuler les boutons clic

maguie

XLDnaute Junior
J'aurais une autre petite question
J'aurais souhaité télécharger des fichiers pdf via un site WEB TESE URSSAF.
La procédure serait la suivante : Sur le site TESE se connecter avec identifiant et mot de passe, interagir via le bouton édition puis via une liste déroulante sélectionner l'option bulletin de salaire et télécharger les pdf. J'ai tenté plusieurs macros mais en vain
Si vous avez une idée?
Merci beaucoup
 

maguie

XLDnaute Junior
Bonjour,
Pas de soucis c'est toujours un plaisir 🙂
Je ne suis pas du tout enseignant, juste quelqu'un qui essaie du mieux qu'il peut de se faciliter le travail 😁
A +
Bonjour
Je reviens vers vous pour mon projet TESE URSSAF Power Automate. Je peux me connecter et me rendre sur le site de téléchargement du site TESE URSSAF.

1-Ci-dessous la boucle LoopIndex. La variable %DataFromWebPage% est générée par le table extraction de données d'un site web voir en 2.
Démarrer à partir de : 1
Fin : %DataFromWebPage.RowsCount%
Incrémenter de 1 : 1

2- La table extraire les données depuis la page web et générant la variable %DataFromWebPage% est ci-dessous :

div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(1) > td[Class="tableau-cellule[B]1[/B]"]:eq(0) > a > img

div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(2) > td[Class="tableau-cellule[B]2[/B]"]:eq(0) > a > img

div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(3) > td[Class="tableau-cellule[B]1[/B]"]:eq(0) > a > img

div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(4) > td[Class="tableau-cellule[B]2[/B]"]:eq(0) > a > img

3- Dans le sélecteur IU et dans modifier le sélecteur j'ai remplacé les chiffres en gras par %LoopIndex%
div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(%LoopIndex%) > td[Class="tableau-cellule[B]%LoopIndex%[/B]"]:eq(0) > a > img


La problématique : la boucle fonctionne très bien sur les deux premières lignes du tableau, mais ensuite il y a un message d'erreur : Élément avec le sélecteur « div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(3) > td[Class="tableau-cellule[B][B]3[/B][/B]"]:eq(0) > a > img » introuvable.

En fait l'erreur provient que la boucle loopindex incrémente également la cellule à chaque tour, et elle met le chiffre 3 ce qui est normal, mais sur le service web, et lorsqu'on visualise la table, les tr : eq sont bien incrémentés de 1, mais le souci c'est que les tr : eq impairs ont un muméro cellule qui est 1 et que les tr : eq pairs ont un numéro de cellule qui est 2
Il y a t-il un moyen de pallier au problème?
Merci
 

Wayki

XLDnaute Impliqué
Bonjour,
J'ai pas tout bien saisi car les id de corrélation me parlent pas beaucoup.
Essayez de rajouter une condition, du genre si loopindex est pair, renvoyer 2 et si loopindex est impair renvoyer 1.
Ça devrait créer une variable à insérer à la place des loopindex.
J'ai pas le logiciel sous les yeux je sais pas si il y a l'option pair et impair, je regarderai dès que possible.
Autre solution un peu tirée par les cheveux, si votre loopindex ne vois sert qu'à ça, en fin de boucle mettez la condition si loopindex =2, alors loopindex = 0 ou "réduire la variable" de 2.
Au recommencement de la boucle il va incrémenter de 1 et ainsi vous aurez toujours 1 ou 2 👍
Je vois que vous vous êtes bien approprié le logiciel c'est cool 😊
En espérant avoir pu répondre au problème.
A +
 
Dernière édition:

maguie

XLDnaute Junior
Bonjour,
J'ai pas tout bien saisi car les id de corrélation me parlent pas beaucoup.
Essayez de rajouter une condition, du genre si loopindex est pair, renvoyer 2 et si loopindex est impair renvoyer 1.
Ça devrait créer une variable à insérer à la place des loopindex.
J'ai pas le logiciel sous les yeux je sais pas si il y a l'option pair et impair, je regarderai dès que possible.
Autre solution un peu tirée par les cheveux, si votre loopindex ne vois sert qu'à ça, en fin de boucle mettez la condition si loopindex =2, alors loopindex = 0 ou "réduire la variable" de 2.
Au recommencement de la boucle il va incrémenter de 1 et ainsi vous aurez toujours 1 ou 2 👍
Je vois que vous vous êtes bien approprié le logiciel c'est cool 😊
En espérant avoir pu répondre au problème.
A +
Bonjour
Merci pour votre réponse. Le seul souci c'est que je n'ai pas du tout l'habitude de loopinex sauf pour les boucles simples.
En fait, il y a deux variables : La variable tr: et la variable cellule. Mais je n'arrive pas à écrire les conditions pair ou impair. Du style sitr:eq(%LoopIndex%) est impair alors cellule%LoopIndex% est egale à 1 et ainsi de suite.
Si vous avez une idée
Merci beaucoup.
 

Wayki

XLDnaute Impliqué
Il faut faire quelque chose dans ce style :
1636632910357.png

J'ai créé une variable appelée par défaut %NewVar%, je l'ai définie sur 0 et mise avant la boucle.
Juste après le début de boucle, on l'augmente de 1. J'ai mis une procédure random ensuite mais il faut mettre votre procédure à vous. Quand c'est fait, on met une condition If %NewVar% = 2 Then diminuer la variable de 2, et la boucle recommence, la variable = 0 et on l'incrémente de 1 en début de boucle.
Votre code devient celui-ci :
div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(%NewVar%) > td[Class="tableau-cellule[B]%NewVar%[/B]"]:eq(0) > a > img
A +
 

maguie

XLDnaute Junior
Il faut faire quelque chose dans ce style :
Regarde la pièce jointe 1121121
J'ai créé une variable appelée par défaut %NewVar%, je l'ai définie sur 0 et mise avant la boucle.
Juste après le début de boucle, on l'augmente de 1. J'ai mis une procédure random ensuite mais il faut mettre votre procédure à vous. Quand c'est fait, on met une condition If %NewVar% = 2 Then diminuer la variable de 2, et la boucle recommence, la variable = 0 et on l'incrémente de 1 en début de boucle.
Votre code devient celui-ci :
div[Id="content"] > table:eq(1) > tbody > tr:eq(2) > td > table > tbody > tr:eq(%NewVar%) > td[Class="tableau-cellule[B]%NewVar%[/B]"]:eq(0) > a > img
A +
Merci beaucoup
Je vais essayer
Je vous dirai si j'y suis parvenu
 

maguie

XLDnaute Junior
Bonjour,
Pas de soucis c'est toujours un plaisir 🙂
Je ne suis pas du tout enseignant, juste quelqu'un qui essaie du mieux qu'il peut de se faciliter le travail 😁
A +
Bonjour
Je reviens vers vous car j'ai une problématique avec la fonction javascript. J'ai pu terminer mon projet TESE, mais je m'aperçois que la fonction Javascript et beaucoup plus puissante et rapide. Voici ma problématique :

Bonjour
Je suis sur un projet power automate desktop et j'ai un souci.
Je souhaiterais savoir comment en javascript mettre au point une fonction afin de cliquer sur un bouton et d'ouvrir toutes les fenêtres contenant les PDF sans avoir à saisir les noms. Ces popup se trouvent sur une page web.
Sur power automate avec l'option javascript, j'ai saisi la fonction suivante :

function ExecuteScript()
{
window.open("/cetpeweb/atts.pdf?refDoc=2022032Z86210&numRng=3","options_nouvelle_fenetre");

window.open("/cetpeweb/atts.pdf?refDoc=2022032Z27410&numRng=2","options_nouvelle_fenetre");

}
Cela fonctionne très bien le seul souci c'est que j'ai 45 pdf tous les mois à télécharger et les variables sont diffférentes pour chaque pdf.

Voici le HTML de la console web pour les href et il y en a 45 au total avec des name différents
<a href="#" onclick="javascript:window.open('/cetpeweb/atts.pdf?refDoc=2022032Z86210&amp;numRng=3','pres','left=10,screeny=10,screenx=10,height=550,width=750,status=yes,resizable=yes,scrollbars=yes,menubar=no',true);">



<img src="/ctc/commun/images/pdf.gif" height="19" border="0" alt="Impression du document">
</a>

Je souhaiterais savoir si il existe une fonction javascript permettant de télécharger tous les pdf sans avoir à saisir les variables à chaque fois.
Merci à vous
 

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11