Bonjour,
Sur Excelabo (bonne adresse !) j'ai trouvé cette macro que j'ai
personnalisée pour aller ouvrir un site avec login et mot de passe: (Excel
2000)
Sub PageWeb()
Dim IE As Object
Set IE = CreateObject("internetexplorer.application")
IE.Navigate ("https://xxxx.org/")
IE.Visible = True: IE.Top = 0: IE.Left = 0
IE.Width = GetSystemMetrics32(0)
IE.Height = GetSystemMetrics32(1)
Application.Wait Now + 5 / 3600 / 24
SendKeys ("xxxx")
SendKeys "{TAB}"
SendKeys ("yyy")
Application.Wait Now + 5 / 3600 / 24
Set IE = Nothing
End Sub
1er pb: l'exécution me renvoi une erreur "Sub ou fonction non définie" sur
la commande "GetSystemMetrics"
2ème: si je désactive les lignes IE.Width et IE.Height, la macro se lance,
IE aussi, le site s'ouvre mais les logins et mdp ne se placent pas...
En fait, en désactivant les lignes "SendKeys" le site s'ouvre même si IE était fermé au lancement de la macro...
puisque c'est moi qui utilise cette macro, je peux lancer une ou l'autre version (avec ou sans cookie) selon que je suis sur ma machine ou non, en attendant de trouver une solution définitive.
Je reviens sur la fin du code qu'Isabelle a proposé en commentaires:
'traitement sur la page web
'IE.Application.Quit 'fermeture IE 'Set IE = Nothing 'liberation de la variable
j'ai activé les 2 dernières lignes , et évidemment Excel n'attend pas que j'ai traité la page (en fait le téléchargement d'un fichier après renseignement de champs et extraction d'une base) et referme IE. serait-il possible d'enchainer les actions: - ouverture de la page - "traitement" par mes soins des données et téléchargement du fichier; pendant ce temps Excel attend... - poursuite de la macro: fermeture d'IE, ouverture du fichier (macro que j'ai déja écrite)
J'ai dit précédemment:
En fait, en désactivant les lignes "SendKeys" le site s'ouvre même si IE
était fermé au lancement de la macro...
puisque c'est moi qui utilise cette macro, je peux lancer une ou l'autre
version (avec ou sans cookie) selon que je suis sur ma machine ou non, en
attendant de trouver une solution définitive.
Je reviens sur la fin du code qu'Isabelle a proposé en commentaires:
'traitement sur la page web
'IE.Application.Quit 'fermeture IE
'Set IE = Nothing 'liberation de la variable
j'ai activé les 2 dernières lignes , et évidemment Excel n'attend pas que
j'ai traité la page (en fait le téléchargement d'un fichier après
renseignement de champs et extraction d'une base) et referme IE.
serait-il possible d'enchainer les actions:
- ouverture de la page
- "traitement" par mes soins des données et téléchargement du fichier;
pendant ce temps Excel attend...
- poursuite de la macro: fermeture d'IE, ouverture du fichier (macro que
j'ai déja écrite)
En fait, en désactivant les lignes "SendKeys" le site s'ouvre même si IE était fermé au lancement de la macro...
puisque c'est moi qui utilise cette macro, je peux lancer une ou l'autre version (avec ou sans cookie) selon que je suis sur ma machine ou non, en attendant de trouver une solution définitive.
Je reviens sur la fin du code qu'Isabelle a proposé en commentaires:
'traitement sur la page web
'IE.Application.Quit 'fermeture IE 'Set IE = Nothing 'liberation de la variable
j'ai activé les 2 dernières lignes , et évidemment Excel n'attend pas que j'ai traité la page (en fait le téléchargement d'un fichier après renseignement de champs et extraction d'une base) et referme IE. serait-il possible d'enchainer les actions: - ouverture de la page - "traitement" par mes soins des données et téléchargement du fichier; pendant ce temps Excel attend... - poursuite de la macro: fermeture d'IE, ouverture du fichier (macro que j'ai déja écrite)
isabelle
regarde au menu: outils/option internet, onglet contenu, clique sur saisi semi automatique et decoche noms utilisateurs et mot de passe, et tu relancer ton ordi,
ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..."
isabelle
Je suis sur IE 6.0 En fait, en désactivant les lignes "SendKeys" le site s'ouvre même si IE était fermé au lancement de la macro...
"isabelle" a écrit dans le message de news:
Il faut donc que je supprime les cookies avant de lancer la macro: pas pratique ! Y aurait-il un moyen de contourner ce pb ?
tu travaille sur quel version de "internetexplorer" ?
isabelle
regarde au menu:
outils/option internet, onglet contenu, clique sur saisi semi automatique et
decoche noms utilisateurs et mot de passe, et tu relancer ton ordi,
ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..."
isabelle
Je suis sur IE 6.0
En fait, en désactivant les lignes "SendKeys" le site s'ouvre même si IE
était fermé au lancement de la macro...
"isabelle" <i@v> a écrit dans le message de news:
uv3QIRsTHHA.4404@TK2MSFTNGP03.phx.gbl...
Il faut donc que je supprime les cookies avant de lancer la macro: pas
pratique !
Y aurait-il un moyen de contourner ce pb ?
tu travaille sur quel version de "internetexplorer" ?
regarde au menu: outils/option internet, onglet contenu, clique sur saisi semi automatique et decoche noms utilisateurs et mot de passe, et tu relancer ton ordi,
ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..."
isabelle
Je suis sur IE 6.0 En fait, en désactivant les lignes "SendKeys" le site s'ouvre même si IE était fermé au lancement de la macro...
"isabelle" a écrit dans le message de news:
Il faut donc que je supprime les cookies avant de lancer la macro: pas pratique ! Y aurait-il un moyen de contourner ce pb ?
tu travaille sur quel version de "internetexplorer" ?
isabelle
Tendasque
"isabelle" a écrit:
regarde au menu: outils/option internet, onglet contenu, clique sur saisi semi automatique et decoche noms utilisateurs et mot de passe, et tu relancer ton ordi, ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..." isabelle
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire.
J'ai donc ajouté à ma macro la ligne: IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec "Département"; çà marche, mais la page reste bloquée là, alors que dans la réalité, la sélection de "Département" dans ce champ ouvre automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit être le "onchange="this.form.submit();" ?. Même en validant, la valeur "Département" n'est pas prise en compte... Qu'est-ce qui cloche ? Merci de votre aide
"isabelle" <i@v> a écrit:
regarde au menu:
outils/option internet, onglet contenu, clique sur saisi semi automatique
et
decoche noms utilisateurs et mot de passe, et tu relancer ton ordi,
ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer
les mots de passe..."
isabelle
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire.
J'ai donc ajouté à ma macro la ligne:
IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec
"Département"; çà marche, mais la page reste bloquée là, alors que dans la
réalité, la sélection de "Département" dans ce champ ouvre automatiquement
une nouvelle boite déroulante pour un 2ème choix (ce doit être le
"onchange="this.form.submit();" ?. Même en validant, la valeur "Département"
n'est pas prise en compte...
Qu'est-ce qui cloche ?
Merci de votre aide
regarde au menu: outils/option internet, onglet contenu, clique sur saisi semi automatique et decoche noms utilisateurs et mot de passe, et tu relancer ton ordi, ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..." isabelle
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire.
J'ai donc ajouté à ma macro la ligne: IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec "Département"; çà marche, mais la page reste bloquée là, alors que dans la réalité, la sélection de "Département" dans ce champ ouvre automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit être le "onchange="this.form.submit();" ?. Même en validant, la valeur "Département" n'est pas prise en compte... Qu'est-ce qui cloche ? Merci de votre aide
isabelle
comme les événements de chaque boite déroulante ne sont pas déclenchés, il faut refaire chaque commande, tu doit connaitre le nom de cette deuxième boite déroulante et ajouter les commandes :
IE.Document.all("xxx").Visible = True IE.Document.all("xxx").Value = "x"
ainsi de suite,
isabelle
"isabelle" a écrit:
regarde au menu: outils/option internet, onglet contenu, clique sur saisi semi automatique et decoche noms utilisateurs et mot de passe, et tu relancer ton ordi, ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..." isabelle
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire. Voici le code :
J'ai donc ajouté à ma macro la ligne: IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec "Département"; çà marche, mais la page reste bloquée là, alors que dans la réalité, la sélection de "Département" dans ce champ ouvre automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit être le "onchange="this.form.submit();" ?. Même en validant, la valeur "Département" n'est pas prise en compte... Qu'est-ce qui cloche ? Merci de votre aide
comme les événements de chaque boite déroulante ne sont pas déclenchés,
il faut refaire chaque commande,
tu doit connaitre le nom de cette deuxième boite déroulante
et ajouter les commandes :
IE.Document.all("xxx").Visible = True
IE.Document.all("xxx").Value = "x"
ainsi de suite,
isabelle
"isabelle" <i@v> a écrit:
regarde au menu:
outils/option internet, onglet contenu, clique sur saisi semi automatique
et
decoche noms utilisateurs et mot de passe, et tu relancer ton ordi,
ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer
les mots de passe..."
isabelle
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire.
Voici le code :
J'ai donc ajouté à ma macro la ligne:
IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec
"Département"; çà marche, mais la page reste bloquée là, alors que dans la
réalité, la sélection de "Département" dans ce champ ouvre automatiquement
une nouvelle boite déroulante pour un 2ème choix (ce doit être le
"onchange="this.form.submit();" ?. Même en validant, la valeur "Département"
n'est pas prise en compte...
Qu'est-ce qui cloche ?
Merci de votre aide
comme les événements de chaque boite déroulante ne sont pas déclenchés, il faut refaire chaque commande, tu doit connaitre le nom de cette deuxième boite déroulante et ajouter les commandes :
IE.Document.all("xxx").Visible = True IE.Document.all("xxx").Value = "x"
ainsi de suite,
isabelle
"isabelle" a écrit:
regarde au menu: outils/option internet, onglet contenu, clique sur saisi semi automatique et decoche noms utilisateurs et mot de passe, et tu relancer ton ordi, ou sinon télécharger la version 7 pour avoir accès à l'option "Supprimer les mots de passe..." isabelle
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire. Voici le code :
J'ai donc ajouté à ma macro la ligne: IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec "Département"; çà marche, mais la page reste bloquée là, alors que dans la réalité, la sélection de "Département" dans ce champ ouvre automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit être le "onchange="this.form.submit();" ?. Même en validant, la valeur "Département" n'est pas prise en compte... Qu'est-ce qui cloche ? Merci de votre aide
Tendasque
"isabelle" a écrit...
comme les événements de chaque boite déroulante ne sont pas déclenchés, il faut refaire chaque commande, tu doit connaitre le nom de cette deuxième boite déroulante et ajouter les commandes :
IE.Document.all("xxx").Visible = True IE.Document.all("xxx").Value = "x"
"Département" s'affiche bien, puis tout s'arrête; la macro a une erreur sur la ligne: IE.Document.all("PS0").Visible = True
J'ai l'impression que "Département" n'est pas validé (onchange="this.form.submit();" le fait automatiquement dans la version "normale", non ? et la page se recharge pour afficher le 2ème choix ?)
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire. Voici le code :
J'ai donc ajouté à ma macro la ligne: IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec "Département"; çà marche, mais la page reste bloquée là, alors que dans la réalité, la sélection de "Département" dans ce champ ouvre automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit être le "onchange="this.form.submit();" ?. Même en validant, la valeur "Département" n'est pas prise en compte... Qu'est-ce qui cloche ? Merci de votre aide
"isabelle" <i@v> a écrit...
comme les événements de chaque boite déroulante ne sont pas déclenchés,
il faut refaire chaque commande,
tu doit connaitre le nom de cette deuxième boite déroulante
et ajouter les commandes :
IE.Document.all("xxx").Visible = True
IE.Document.all("xxx").Value = "x"
"Département" s'affiche bien, puis tout s'arrête; la macro a une erreur sur
la ligne:
IE.Document.all("PS0").Visible = True
J'ai l'impression que "Département" n'est pas validé
(onchange="this.form.submit();" le fait automatiquement dans la version
"normale", non ? et la page se recharge pour afficher le 2ème choix ?)
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire.
Voici le code :
J'ai donc ajouté à ma macro la ligne:
IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec
"Département"; çà marche, mais la page reste bloquée là, alors que dans
la réalité, la sélection de "Département" dans ce champ ouvre
automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit
être le "onchange="this.form.submit();" ?. Même en validant, la valeur
"Département" n'est pas prise en compte...
Qu'est-ce qui cloche ?
Merci de votre aide
comme les événements de chaque boite déroulante ne sont pas déclenchés, il faut refaire chaque commande, tu doit connaitre le nom de cette deuxième boite déroulante et ajouter les commandes :
IE.Document.all("xxx").Visible = True IE.Document.all("xxx").Value = "x"
"Département" s'affiche bien, puis tout s'arrête; la macro a une erreur sur la ligne: IE.Document.all("PS0").Visible = True
J'ai l'impression que "Département" n'est pas validé (onchange="this.form.submit();" le fait automatiquement dans la version "normale", non ? et la page se recharge pour afficher le 2ème choix ?)
Grâce à Isabelle, je peux ouvrir la page web qui contient un formulaire. Voici le code :
J'ai donc ajouté à ma macro la ligne: IE.Document.all("SEL0").Value = "5" pour avoir le champ rempli avec "Département"; çà marche, mais la page reste bloquée là, alors que dans la réalité, la sélection de "Département" dans ce champ ouvre automatiquement une nouvelle boite déroulante pour un 2ème choix (ce doit être le "onchange="this.form.submit();" ?. Même en validant, la valeur "Département" n'est pas prise en compte... Qu'est-ce qui cloche ? Merci de votre aide