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 et écrire dans les classeurs Excel fermés


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut Lire et écrire dans les classeurs Excel fermés
    Bonjour,

    Je cherche à transférer des données d'un classeur (data1.xls) à un autre (data2.xls). J'ai trouvé un bout de code sur le site. Cependant, cela ne fonctionne pas comme je veux : seule la première colonne de la feuil1 est recopiée, et je n'arrive pas à savoir pourquoi. Ci dessous le code.

    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
    36
    37
    38
    39
    40
    41
    42
    43
    Sub tranfertEntreClasseursFermes()
    Dim Cn As New ADODB.Connection
    Dim oProdRS As New ADODB.Recordset, oRS As ADODB.Recordset
    Dim oConn As ADODB.Connection
    Dim j As Integer
     
    '------------------------------------------------------------------
    ' "Classeur1_Fermé.xls" est le classeur source
    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & ThisWorkbook.Path & "\Data1.xls;" & _
        "Extended Properties=""Excel 8.0;HDR=NO;"""
     
    'les donnees sources sont dans la Feuil1 du classeur "Data1.xls"
    oProdRS.Open "SELECT * FROM [Feuil1$]", Cn, adOpenStatic
     
     
    '------------------------------------------------------------------
    ' "Classeur2_Fermé.xls" est le classeur destination
    Set oConn = New ADODB.Connection
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & ThisWorkbook.Path & "\Data2.xls;" & _
        "Extended Properties=""Excel 8.0;HDR=NO;"""
     
    'les donnees sont à placer dans la Feuil1 du classeur "Data2.xls"
    Set oRS = New ADODB.Recordset
    oRS.Open "Select * from [Feuil1$]", oConn, adOpenKeyset, adLockOptimistic
     
    '------------------------------------------------------------------
    'transfert des données
    Do While Not (oProdRS.EOF)
        oRS.AddNew
            For j = 0 To oRS.Fields.Count - 1
            oRS.Fields(j) = oProdRS.Fields(j).Value
            Next j
        oRS.Update
        oProdRS.MoveNext
    Loop
     
    oProdRS.Close
    Cn.Close
    oRS.Close
    oConn.Close
    End Sub
    Merci pour votre aide !

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Un lien ici pour ajouter une feuille

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    As-tu jeté un oeil ici qui traite du transfert de données entre deux classeurs fermés ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    Merci pour vos réponses, cependant le code que j'ai inclu dans mon message initial est issu de l'aide fournie par developpez.com pour transférer des données entre deux classeurs.

    C'est justement ce code qui ne fonctionne pas correctement ...

Discussions similaires

  1. [XL-2007] Lire et écrire dans les classeurs Excel fermés : Problème avec CopyFromRecordset
    Par schumiaja dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2015, 20h18
  2. Lire et écrire dans les classeurs Excel fermés
    Par zidenne dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/10/2013, 15h22
  3. [XL-2007] Lire et écrire dans les classeurs Excel fermés
    Par jijie dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/03/2013, 14h28
  4. Lire dans un classeur Excel fermé
    Par forestlaw2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/07/2012, 12h15
  5. [XL-2007] Lire dans les classeurs Excel fermés (ADODB)
    Par Korleone dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/04/2011, 08h52

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