Importer des données google sheet dans Excel avec login et mdp

Merci à Isabelle surtout !

merci Steelson,

as-tu réussi à importer des données ?

Bonjour ou bonsoir à vous deux,

donc concernant ce code

Sub Importer1()
conn = "URL; https://docs.google.com/spreadsheets/d/1019qOXypx42o5y8bTDg7dmASrzb2Ns69PPC__jycu3g/edit#gid=0"

moi = "xxxxxx@xxxx.xxx"
pw = "xxxxxxxxxx"

With ActiveSheet.QueryTables.Add(conn, Range("A1"))
        .PostText = "identifier=moi&password=pw"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingAll
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
End With

End Sub

Il ne se passe rien. pas de message d'erreur, pas d'importation.

et concernant ce code

Sub Naviguer_docs_google()

'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls

Dim i As Integer
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = False
IE.Navigate "https://docs.google.com/"

Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.Document
Set Helem = maPageHtml.ie9_all

identifiant = "xxxxxxxx@xxxx.xx"
passW = "xxxxxxxxx"

For i = 0 To Helem.Length - 1
    On Error Resume Next
    If Helem(i).getAttribute("name") = "identifier" Then Helem(i).innerText = identifiant
Next i

Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

For i = 0 To Helem.Length - 1
    If Helem(i).getAttribute("name") = "password" Then Helem(i).innerText = passW
Next i

Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

IE.Visible = True
AppActivate IE
SendKeys "{ENTER}", True

End Sub

Il arrive à rentrer le login mais pas le mot de passe, il reste donc bloqué sur la page du mot de passe.

Au moins, le login est passé.

j'ai essayé de mettre "Do Until IE.ReadyState =4" pour le passW pour voir si c'était une attente mais rien

Slt tout le monde,

à tester:

Sub Naviguer_docs_google()

'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls

Dim i As Integer
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = False
IE.navigate "https://docs.google.com/"

Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.document
Set Helem = maPageHtml.ie9_all

identifiant = "xxxxxxxx@xxxx.xx"
passW = "xxxxxxxxx"

    For i = 0 To Helem.Length - 1
        On Error Resume Next
        If Helem(i).getAttribute("name") = "identifier" Then Helem(i).innerText = identifiant
    Next i

Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

IE.Visible = True
AppActivate IE
Application.SendKeys "~"

    For i = 0 To Helem.Length - 1
        If Helem(i).getAttribute("name") = "password" Then Helem(i).innerText = passW
    Next i

Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

IE.Visible = True
AppActivate IE
Application.SendKeys "~"

End Sub

Bonjour m3ellem1,

Alors, je viens de tester ton approche est oui le code est reconnu pour la saisie du login et mdp mais il ne transfert pas les données une fois la page ouverte.

Je vais essayé avec tous les codes que j'avais eu, d'y intégrer une suite pour l'importation des données.

Merci pour ton coup de main

Salut tout le monde,

J'ai trouvé une méthode grâce à vous.

Dites moi ce que vous en pensez à tous les niveaux (sécurité surtout).

Donc pour cette méthode, j'ai utilisé le code proposé par i20100 et modifié par m3ellem1.

  • j'ai cliqué sur enregistré une macro
  • j'ai donné un nom à cet enregistrement
  • (une fois l'enregistrement en cours) j'ai executer la macro de m3ellem1
  • ça m'a affiché la page de mon tableau Google Sheet
  • j'ai sélectionné 250 lignes de mon tableau
  • j'ai coupé(ctrl x)
  • le navigateur IE m'a demandé si j’autorisai cette page web à accéder au presse papier
  • j'ai mis "oui"
  • j'ai sélectionné ma feuille excel
  • j'étais déjà sur le bon onglet
  • j'ai sélectionné toutes les lignes
  • j'ai coller(ctrl v)
  • Excel m'a demandé si je voulais coller les données
  • j'ai mis "oui"
  • les 250 lignes de données ont été collées
  • j'ai arrêté l'enregistrement.

j'ai modifié 2 lignes du code de m3ellem1 afin que ce soit moins lourd visuellement

IE.Visible = True

en

IE.Visible = false

ça fonctionne mais voilà le code qui en ressort est bof

voyez par vous même

Sub essais()
'
' essais Macro
'

'
    Application.Run "'Nom de mon classeur.xls'!nom de la macro executer"
    Cells.Select
    ActiveSheet.Paste
End Sub

Dans ce code je ne vois pas la ligne qui concerne les 250 lignes sélectionnées et coupées du tableau Google sheet.

Concernant l'accès de la page web au presse papier je pense que la sécurité est bonne vu qu'il faut login et mdp pour accéder à cette page, mais au cas ou, j'accepte les conseils que l'on souhaiterai me donner.

je suis retourné sur ma page web et ça n'a pas coupé/collé mais ça a copié/collé.

Dommage ça aurait permis de d'effacer (clear contents) les 250 lignes pour intégrer les nouvelles saisies.

par contre est ce qu'il serait judicieux de faire le code de cette manière? ou pas?

Sub essais()
'
' essais Macro
'
Dim start As Single
start = Timer

Call nom de la macro executer
Cells.Select
Sheets("feuille qui reçoit les données").Select
ActiveSheet.Paste.Range("A" & Rows.Count).End(xlUp)(2)

MsgBox "Macro executé en: " & Timer - start & " secondes"
End Sub

Merci pour vos points de vues

Rechercher des sujets similaires à "importer donnees google sheet login mdp"