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 :

[VBA-E] Données dans un fichier externe


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Femme Profil pro
    Technicienne en informatique
    Inscrit en
    Février 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 257
    Par défaut [VBA-E] Données dans un fichier externe
    Bonjour,

    J'ai un fichier excel dans lequel certaines cellules sont reliées avec des cellules dans un autre fichier.

    Jusque-là tout va bien. Mais est-il possible lorsque j'inscris mon chemin d'accès d'y intégrer certains paramètres?

    Exemple dans ma cellule présentement, j'écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ='C:\Test\[Fichier1.xls]'

    Mais j'aimerais plutôt quelque chose du genre:<
    A1 étant mon dossier
    B1 étant mon fichier
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    regarde l'aide pour INDIRECT()

  3. #3
    Membre éclairé
    Femme Profil pro
    Technicienne en informatique
    Inscrit en
    Février 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 257
    Par défaut
    J'ai déjà regardé cette fonction mais elle ne fonctionne pas lorsque le fichier externe est fermé. Et dans mon cas, bien le fichier doit rester fermé.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour à vous

    à ma connaissance ce n'est pas possible sans macro.


    le plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Lecture de la cellule A1 dans la Feuil1 du classeur fermé				
    MsgBox ExecuteExcel4Macro("'C:\dossier\[ClasseurBase.xls]Feuil1'!R1C1")

    d'autres possiblités (moins simples)

    http://silkyroad.developpez.com/VBA/ClasseursFermes/



    bon après midi
    michel

  5. #5
    Membre éclairé
    Femme Profil pro
    Technicienne en informatique
    Inscrit en
    Février 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 257
    Par défaut
    J'ai aussi essayé cette méthode mais je reçois #value comme erreur dans ma cellule.

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    peux tu montrer ta macro?


    michel

  7. #7
    Membre éclairé
    Femme Profil pro
    Technicienne en informatique
    Inscrit en
    Février 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 257
    Par défaut
    Voilà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function Test(Dossier As String, Fichier As String, Cellule As String)
        Test = ExecuteExcel4Macro("'C:\" & Dossier & "\[" & Fichier & "]Sheet1'!" & Cellule)
    End Function

  8. #8
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Rebonsoir


    la cellule doit être spécifiée au format xlR1C1


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function Test(Dossier As String, Fichier As String, Cellule As String)
     
        Test = ExecuteExcel4Macro("'C:\" & Dossier & "\[" & Fichier & "]Sheet1'!" & _
            Range(Cellule).Address(, , xlR1C1, False))
    End Function


    michel

  9. #9
    Membre éclairé
    Femme Profil pro
    Technicienne en informatique
    Inscrit en
    Février 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 257
    Par défaut
    J'ai toujours la même erreur.

  10. #10
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    OOuuppss... j'avais oublié que tu souhaitais afficher le résultat dans une cellule.


    Une autre méthode à tester


    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
    Public Function Test(Dossier As String, Fichier As String, Cellule As String) As Variant
        Dim Source As Object, Rst As Object, ADOCommand As Object
        Dim Feuille As String
     
        Feuille = "Sheet1$"
     
        Set Source = CreateObject("ADODB.Connection")
        Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & "C:\" & Dossier & "\" & Fichier & _
            ";Extended Properties=""Excel 8.0;HDR=No;"";"
     
        Set ADOCommand = CreateObject("ADODB.Command")
        With ADOCommand
            .ActiveConnection = Source
            .CommandText = _
                "SELECT * FROM [" & Feuille & Cellule & ":" & Cellule & "]"
        End With
     
        Set Rst = CreateObject("ADODB.Recordset")
        Rst.Open ADOCommand, , 1, 3
     
        Set Rst = Source.Execute("[" & Feuille & Cellule & ":" & Cellule & "]")
     
        Test = Rst.fields(0).Value
     
        Rst.Close
        Source.Close
        Set Source = Nothing
        Set Rst = Nothing
        Set ADOCommand = Nothing
    End Function


    michel

  11. #11
    Membre éclairé
    Femme Profil pro
    Technicienne en informatique
    Inscrit en
    Février 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2004
    Messages : 257
    Par défaut
    Je vais essayé ça!

    Merci!

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

Discussions similaires

  1. [VBA-E]Ecriture de données dans un fichier texte
    Par osito57 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 18/08/2017, 19h42
  2. Réponses: 0
    Dernier message: 02/02/2014, 04h13
  3. VBA Regrouper des données dans un fichier unique
    Par oracle7556 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/04/2010, 22h28
  4. Réponses: 3
    Dernier message: 30/09/2008, 14h12
  5. Enregistrer des données dans un fichier externe
    Par TarZan78 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 19/11/2007, 09h52

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