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 :

Lire un fichier fermé déporté


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 10
    Par défaut Lire un fichier fermé déporté
    Bonjour le Forum,
    Tout d'abord, je suis débutant donc un peu simplet de temps en temps.
    voici mon problème:
    importer (et éventuellement écrire) des données d'un classeur excel (2007 Vers.12.0) fermé et se trouvant sur une plateforme Sharepoint.
    j'ai déniché dans les tutos un code de SilkyRoad (merci à lui) qui fonctionne bien quand je lui donne le chemin en local.
    voici pour mémoire le code susdit:

    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
    29
    30
    31
    32
    33
    34
    35
    Sub RequeteClasseurFerme_Excel2007()
    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim ADOCommand As ADODB.Command
    Dim Rst As ADODB.Recordset
    Dim cellule As String
    Dim i As Integer
     
    'Définit le classeur fermé servant de base de données
    Fichier = [COLOR="Red"]"D:\Mes Documents\Dossier Base de données\Base de DonnéesExcel2007\EssaiBase.xls"
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Feuil1"
    Set Cn = New ADODB.Connection
    '--- Connexion ---
    With Cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
    .Open
    End With
    '----------------- la requête ...
    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)
    '--- Boucle sur les entêtes pour récupérer les noms ---
    For i = 0 To Rst.Fields.Count - 1
    Cells(1, i + 1) = Rst.Fields(i).Name
    Next i
    '------------------------------------------------------'Ecrit le résultat de la requête dans la cellule A2
    Range("A2").CopyFromRecordset Rst
    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing
    End Sub
    Bon là c'est good.
    je remplace benoitement le chemin du fichier (Fichier) par celui ci :

    "http://workplace.fr.maBoite.fr/Monservice/Bibliothque%20Bases%20Clients/maRegion/Essai%20transfert.xlsx"

    et là patratrac il me lance une insulte du type adresse internet non valide.

    Problème car avec un autre petit bôut de code (très... très... long) la même adresse URL fonctionne parfaitement bien.

    Que dois- je faire ?
    j'ai installer les références "Microsoft internet control" et "Microsoft HTML Object librairy", mais cela ne change rien

    Si quelqu'un ou quelqu'une avait une idée pour m'aider ce serait vraiment super.
    Merci d'avance à tous ceux qui prendront le temps de me lire
    Jf

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 150
    Par défaut
    le souci vient de ta connectionstring.

    Il faut te connecter au sharepoint.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SOURCE : http://www.connectionstrings.com/sharepoint
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes; DATABASE=http://pp1webofficelivecom.officelive.com/Documents/;LIST={5999B8A0-0C2F-4D4D-9C5A-D7B146E49698};
    The keyword "Database" specifies the SharePoint URL The keyword "List" specifies the GUID value for the desired SharePoint list (list=table) Querying without specifying any table name. Ie use "SELECT * FROM table" or "SELECT * FROM list" (same result from booth).
    Modifie les param ca devrait marcher.
    Pour info IMEX 2 c'est pour read and write si tu veux juste lire c'est IMEX=1

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 10
    Par défaut
    Merci, mais comme je l'ai dit je suis débutant, alors tout ce code, je l'incorpore comment ?

  4. #4
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonsoir le forum,

    Normalement, si j'ai bien suivi, tu remplaces le texte en rouge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With Cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
    .Open
    End With
    Par le texte qu'il t'as fourni dans son post.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes; DATABASE=http://pp1webofficelivecom.officelive.com/Documents/;LIST={5999B8A0-0C2F-4D4D-9C5A-D7B146E49698};

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 10
    Par défaut
    Bonjour le Forum,
    j'ai modifier mon code comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set Cn = New ADODB.Connection
    '--- Connexion ---
     
    With Cn
     
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes; DATABASE=" _
    & Fichier & ";LIST={/Essai%20transfert.xlsx};Extended Properties=""Excel 12.0;HDR=YES;"""
    .Open
    End With
    et je reçoit en retours l'insulte suivante :
    "Pilote ISAM introuvable"
    Quoi qu'est -ce un pilote ISAM ? et comment je résout mon problème ?
    merci d'avance
    JF

Discussions similaires

  1. Impossible de lire une cellule dans un fichier fermé
    Par Mic13710 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/06/2015, 22h57
  2. Lire fichier fermé excel
    Par Nono Sto dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 09/10/2013, 20h18
  3. Lire un fichier fermé sur une plateforme déportée SharePoint
    Par jfdebutant dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 19/11/2009, 08h57
  4. [XL-2003] Lire fichier fermé
    Par Thomas8080 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/07/2009, 13h04
  5. Lire le fichier du port série
    Par saibe dans le forum Linux
    Réponses: 7
    Dernier message: 09/04/2003, 09h29

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