IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Panneau demandant un login/password avec QueryTables sur certains types de serveurs


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut Panneau demandant un login/password avec QueryTables sur certains types de serveurs
    Bonjour,

    J'ai un fichier CSV que je dois importer depuis cette adresse http://j.netsur2.com/journal.csv et je dois obligatoirement utiliser cette fonction (je met le lien dans la variable url) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
        With Worksheets("Journal").QueryTables.Add(Connection:= _
            "TEXT;" & url _
            , Destination:=Worksheets("Journal").Range("A1"))
            .Name = "xxx"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    Mais lorsque je lance la fonction, ça affiche un panneau qui me demande l'identifiant et le mot de passe avant de télécharger quoi que se soit alors qu'il n'y a aucun mot de passe sur ce fichier ou sur le serveur (on peut le télécharger normalement en lien direct).
    Par contre si j'execute le script avec http://bi2.io/json/sales.csv là ça passe tout seul et il n'y a pas le panneau.

    Il faut vraiment que je supprimer ce panneau, vous savez pourquoi il apparait ? Il doit y avoir un truc différent au niveau du serveur mais je ne vois pas quoi

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    J'ai utilisé le même code épuré, j'obtiens les données sans identifiant ni mot de passe (néamoins la connexion est assez lent)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub Test()
    Dim StrUrl As String
     
    StrUrl = "http://j.netsur2.com/journal.csv"
    With Worksheets("Journal")
        .UsedRange.Clear
        With .QueryTables.Add(Connection:="TEXT;" & StrUrl, Destination:=Worksheets("Journal").Range("A1"))
            .Name = "journal"
            .FieldNames = True
            .AdjustColumnWidth = True
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileColumnDataTypes = Array(1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            .WorkbookConnection.Delete
            .Delete
        End With
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonjour,

    le fichier étant plutôt gros car contenant plus de 167 000 lignes …

    A noter aussi qu'il peut s'ouvrir directement comme un classeur - même via une URL ! - sans utiliser QueryTable
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par mercatog Voir le message
    J'ai utilisé le même code épuré, j'obtiens les données sans identifiant ni mot de passe (néamoins la connexion est assez lent)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub Test()
    Dim StrUrl As String
     
    StrUrl = "http://j.netsur2.com/journal.csv"
    With Worksheets("Journal")
        .UsedRange.Clear
        With .QueryTables.Add(Connection:="TEXT;" & StrUrl, Destination:=Worksheets("Journal").Range("A1"))
            .Name = "journal"
            .FieldNames = True
            .AdjustColumnWidth = True
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileColumnDataTypes = Array(1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            .WorkbookConnection.Delete
            .Delete
        End With
    End With
    End Sub
    C'est drôle j'execute exactement ton code et moi il me met un message. J'ai essayé avez deux windows 7 sous Excel 2010 et ça me fait ça. C'est peut être un problème de config sur les deux PC en fait.

    Nom : Capture.PNG
Affichages : 500
Taille : 197,8 Ko

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Sujet croisé maintes fois sur les forums avec l'objet QueryTable : effectuer une recherche au cas où …

    Sinon :

    Citation Envoyé par Marc-L Voir le message
    A noter aussi qu'il peut s'ouvrir directement comme un classeur - même via une URL ! - sans utiliser QueryTable

    Ou encore importation directe dans une variable tableau à recopier dans la feuille, exemple dans cette discussion
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/07/2014, 23h40
  2. Partie Identification Login,PassWord avec SQL Server
    Par dhiaeddine2012 dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/02/2012, 13h22
  3. Réponses: 5
    Dernier message: 03/04/2008, 19h02
  4. [MySQL] Identification Login-password avec Mysql, ou est l'erreur dans le code ?
    Par fredob dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/06/2007, 09h33
  5. Réponses: 13
    Dernier message: 12/01/2006, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo