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 :

Exécuter une requête sur un fichier excel placé dans une GED sharepoint [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Exécuter une requête sur un fichier excel placé dans une GED sharepoint
    Bonjour à tous,

    J'ai créé une petite application en VBA sous Excel 2010 pour traiter des demandes. Tout fonctionne bien quand le fichier Excel se trouve sur mon disque dur.
    Par contre, je l'ai déposé sur notre GED Sharepoint et là ça dysfonctionne complètement.

    Petite explication, j'exécute une requête SQL et je récupère les infos que je mets dans une feuille "Resultats". J'ai créé une plage nommée "SELECTION" qui correspond au contenu de la feuille "Resultats". Ensuite, je fais une requête pour rechercher un matricule dans cette "SELECTION".

    Voici le code qui fonctionne sur mon poste (hors GED) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Application.ScreenUpdating = False
    Dim rs As ADODB.Recordset
    Set Cnx = New ADODB.Connection
    req = "select * from SELECTION where id = '" + Matricule+ "'"
    With Cnx
                .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ActiveWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=YES;"""
    End With
    Cnx.Open
    If Cnx.State = adStateOpen Then
                Set rs = Cnx.Execute(req)
    End If
    Voici le code que j'ai modifié une fois le fichier sur la GED :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Application.ScreenUpdating = False
    Dim rs As ADODB.Recordset
    Set Cnx = New ADODB.Connection
    req = "select * from SELECTION where id = '" + Matricule+ "'"
    With Cnx
                .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=2;RetrieveIds=Yes;DATABASE=\\cheminGED\Fichier.xlsm;LIST={8C989D07-6C93-4443-A076-C82F49212595};Extended Properties=""Excel 12.0;HDR=YES;"""
    End With
    Cnx.Open
    If Cnx.State = adStateOpen Then
                Set rs = Cnx.Execute(req)
    End If
    La connexion se passe bien mais j'ai une erreur sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rs = Cnx.Execute(req)
    Nom : 2015-04-23_09h14_45.jpg
Affichages : 678
Taille : 29,3 Ko

    Quelqu'un aurait-il une idée sur le sujet ? Car là après deux jours de recherche, je commence à désespérer ...

    Merci d'avance de votre aide.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    es-tu sûr du chemin d'accès dans SharePoint ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \\cheminGED\Fichier.xlsm

    quand je manipule des fichiers qui sont sur SharePoint, j'ai une addresse en http://
    pour récupérer facilement le chemin, je fais parfois un clic droit et je regarde le chemin dans les propriétés (je fais un vulgaire copier coller)

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    J'ai fais des essais avec le chemin http:// et la connexion ne fonctionnait pas donc j'ai modifié le chemin en \\chemin... comme ce que l'on utilise quand on créer un lecteur réseau pour y accéder. Et là la connexion passe correctement.

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    essaye dans ta requête d'encadrer ta plage nommée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req = "select * from [SELECTION] where id = '" + Matricule+ "'"

  5. #5
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    J'ai toujours la même erreur ...
    J'ai déjà essayé :
    [SELECTION]
    [SELECTION $]
    [SELECTION$]
    `SELECTION`
    `SELECTION $`
    `SELECTION$`

    Par contre en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req = "select * from Resultats!$A:$AL where id = '" + Matricule+ "'"
    Je n'ai plus la même erreur :

    Nom : 2015-04-23_10h05_16.jpg
Affichages : 636
Taille : 17,9 Ko

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    hormis ce que t'a dit Joe!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     req = "select * from [Resultats$!SELECTION] where id = '" + Matricule+ "'"
    rs.open  req, Cnx

  7. #7
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    merci de ton aide mais cela ne fonctionne pas non plus ...

    avec [Resultats$!SELECTION] j'ai toujours le message d'erreur concernant le moteur de base de données ...

    et avec Resultats$!SELECTION j'ai le message La méthode 'Open' de l'objet '_Recordset' a échoué

  8. #8
    Invité
    Invité(e)
    Par défaut
    jamais utiliser set rs = cnx.execute(req)!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set rs= New ADODB.Recordset
    req = "select * from [Resultats$!SELECTION] where id = '" + Matricule+ "'"
    rs.open  req, Cnx

  9. #9
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci du conseil pour le cnx.execute

    Et j'avais déjà rajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     set rs=new adodb.recorset
    avant de tester ta proposition ...

  10. #10
    Invité
    Invité(e)
    Par défaut
    peut tu placer un fichier Resultats en bidonnant les datas?
    j'ai pas faits gaffe!
    J'ai créé une petite application en VBA sous Excel 2010 pour traiter des demandes. Tout fonctionne bien quand le fichier Excel se trouve sur mon disque dur.
    Problème de droits?

  11. #11
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    En effet c'est peut être un problème de droit mais dans ce cas la connexion devrait échouée aussi non ?
    Dans la chaine de connexion je ne peux pas lui spécifier mon login et mon mot de passe ? pour tester si cela change quelque chose pour sharepoint...

  12. #12
    Invité
    Invité(e)
    Par défaut
    Exact la connexion devrait échoué ��

  13. #13
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je pense que je suis vraiment dans une impasse là ... Je ne sais plus du tout par quel sens chercher ... C'est peut-être juste pas possible ce que j'essaie de faire ...

  14. #14
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai contourné le problème ...

    Au lieu d'exécuter une requête sur l'onglet j'utilise la fonction Find pour récupérer le numéro de la ligne qui m’intéresse et ensuite je l'utilise pour récupérer les infos.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim recherche As Variant
    Dim ligne As Integer
     
    Set recherche = Worksheets("Resultat").Range("IDF_AGENT").Cells.Find(matricule, lookat:=xlWhole)
            If recherche Is Nothing Then
                MsgBox "Pas d'informations trouvées !"
            Else
                ligne = Worksheets("Resultat").Range("IDF_AGENT").Cells.Find(matricule, lookat:=xlWhole).Row
            End If
    FormEnregistrement.LbMatricule = Range("IDF_AGENT").Cells(ligne, 1).Value
    Merci beaucoup en tout cas de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/08/2017, 16h55
  2. Réponses: 1
    Dernier message: 11/02/2011, 14h14
  3. [XL-2003] Exécuter une macro sur 2 fichiers excel en même temps..
    Par visto94 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/07/2010, 14h09
  4. Creer un macro qui verifie une info sur plusieur fichier excel
    Par Esmax666 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/07/2009, 16h42
  5. Réponses: 4
    Dernier message: 02/05/2005, 20h25

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