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 :

Transférer des données d'un fichier vers un autre (Espace commun) [XL-2007]


Sujet :

Macros et VBA Excel

  1. #21
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    bbil : ok c'est noté et j'en tiendrai compte

    Marc :je n'avais pas vu ton feedback.
    Que chaque utilisateur envoie son fichier dans un espace commun : aucun souci !
    Ce n'est pas le fichier de chaque utilisateur qui sera envoyé dans l'espace commun mais les données issues de l'usf de l'utilisateur qui seront dans plusieurs cellules de la base (A1:AA) au fur et à mesure.
    Merci de m'avoir orienté vers Access ou je m'y interesserai pour les projets à venir.

  2. #22
    Invité
    Invité(e)
    Par défaut
    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
    Sub RequetTest()
    Dim source As Object
    Dim requete As Object
     
    Dim Fichier As String, Feuille As String, strSQL As String
    'Fichier = ActiveWorkbook.FullName 'chemin complet du fichier fermé
    Fichier = "W:\GESTION_VISA_CHEQUE\Fichier_Depart.xlsx" 'chemin complet du fichier fermé
    Feuille = "PARAMETRE$B5:G48" 'Onglet où les données doivent être insérées
    Set Cnx = CreateObject("ADODB.Connection")
     
    With Cnx
     
    ' .Provider = "MSDASQL"
    .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
    "DBQ=" & Fichier & "; ReadOnly=False;"
    .Open
    End With
    'Les données doivent être indiquées dans le même ordre que les champs dans la base de données.
     
     
    strSQL = "update  [" & Feuille & "] set EXPL='toto' where  [User Code]='DE2545';"
    Cnx.Execute strSQL
    Set requete = CreateObject("ADODB.recordset")
    strSQL = "select * from [" & Feuille & "]  where  [User Code]='DE2545';"
    requete.Open strSQL, Cnx
    While requete.EOF = False
    Debug.Print requete("User Code") & " | " & requete("EXPL") & " | " & requete("NOM EXPLOITANT") & " | " & requete("CONTACTS") & " | " & requete("ADRESSE MAIL EXPLOITANT") & " | " & requete("ADRESSE MAIL DA")
    requete.movenext
    Wend
    Cnx.Close
    Set Cnx = Nothing
    End Sub

  3. #23
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    rdurupt ... as tu testé ton code ?

  4. #24
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par bbil Voir le message
    rdurupt ... as tu testé ton code ?
    oui avec car je n'avais que ce fichier!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier = ActiveWorkbook.FullName 'chemin complet du fichier fermé
    en revanche le DELETE est interdit je regarde si il y a un moyen!!!

  5. #25
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    oui avec car je n'avais que ce fichier!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier = ActiveWorkbook.FullName 'chemin complet du fichier fermé
    en revanche le DELETE est interdit je regarde si il y a un moyen!!!
    et donc prendre en compte :

    Citation Envoyé par bbil Voir le message

  6. #26
    Invité
    Invité(e)
    Par défaut
    ça marche invariablement dans les 2 version!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With Cnx
     .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
                & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
            .Open
    ' .Provider = "MSDASQL"
    '.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
    '"DBQ=" & Fichier & "; ReadOnly=False;"
    '.Open
    End With

  7. #27
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tu as testé avec un xlsx comme dans ton code ..:

    Citation Envoyé par rdurupt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Fichier As String, Feuille As String, strSQL As String
    'Fichier = ActiveWorkbook.FullName 'chemin complet du fichier fermé
    Fichier = "W:\GESTION_VISA_CHEQUE\Fichier_Depart.xlsx" 'chemin complet du fichier fermé
    j'aurais cru que le message d'erreur sur .Open était du à cela ...

  8. #28
    Invité
    Invité(e)
    Par défaut
    avec xls,xlsx,xlsm en revanche son chemin dans son appli est W:\GESTION_VISA_CHEQUE\Fichier_Depart.xlsx
    et il ma envoyé un xlsm
    Dernière modification par AlainTech ; 10/09/2014 à 22h00. Motif: Suppression de la citation inutile

  9. #29
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    juste pour apporter quelques éclaircissements:
    Fichier = "W:\GESTION_VISA_CHEQUE\Fichier_Depart.xlsx" 'chemin complet du fichier fermé
    Le chemin du fichier fermé est "W:\GESTION_VISA_CHEQUE\Fichier_Arrivé.xlsx.
    C'est vers ce fichier que les données de l'usf fichier_Départ devront être copié et plus précisément à partir de la cellule A2 de la feuille "BASE_DE_DONNEES" et non sur la feuille "PARAMETRE".
    Merci de revoir si possible

  10. #30
    Invité
    Invité(e)
    Par défaut
    je n'ai pas l'onglet BASE_DE_DONNEES dans le fichier que tu m'a données j'ai fait le teste en fonction de ce que j’avais!

    il est important pour moi de tester avant de te donner le code!
    Dernière modification par AlainTech ; 10/09/2014 à 22h01. Motif: Suppression de la citation inutile

  11. #31
    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

    Citation Envoyé par capi81 Voir le message
    Ce n'est pas le fichier de chaque utilisateur qui sera envoyé dans l'espace commun mais les données issues de l'usf de l'utilisateur qui seront dans plusieurs cellules de la base (A1:AA) au fur et à mesure.

    Vers les ennuis c'est aller ! Pas à coup sûr, forte probabilité … J'espère que la base est sauvegardée chaque nuit …
    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)

  12. #32
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Il y'a 2 fichiers que j'avais joint dans le post en question.
    le premier est Fichier_Départ.xlsm et le second Fichier_Arrivé.xlsx (c'est ce fichier qui contient l'onglet "BADE_DE_DONNEES")

  13. #33
    Invité
    Invité(e)
    Par défaut
    ok pas fait gaffe

  14. #34
    Invité
    Invité(e)
    Par défaut chez moi ça fonctionne
    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
    Sub RequetTest()
    Dim source As Object
    Dim requete As Object
     
    Dim Fichier As String, Feuille As String, strSQL As String
    Fichier = "W:\GESTION_VISA_CHEQUE\Fichier_Depart.xlsx" 'chemin complet du fichier fermé
    Feuille = "BASE_DE_DONNEES$" 'Onglet où les données doivent être insérées
    Set Cnx = CreateObject("ADODB.Connection")
     
    With Cnx
     .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
                & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
            .Open
    ' .Provider = "MSDASQL"
    '.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
    '"DBQ=" & Fichier & "; ReadOnly=False;"
    '.Open
    End With
    'Les données doivent être indiquées dans le même ordre que les champs dans la base de données.
     
    strSQL = "insert into [" & Feuille & "] ([DATE INITIATION],[NUM CLIENT],[REVENU],[CUMUL ENGAGEMENT],[VISA DEMANDE],[AUTORISATION],[SOLDE AVANT VISA],[SOLDE APRES VISA],[SITUATION NETTE],[DELAI DE REGULARISATION],[COMMENTAIRE CC],[AVIS DGAE],[COMMENTAIRE DGAE],[AVIS RPR],[COMMENTAIRE RPR],[AVIS ANALYSTE],[COMMENTAIRE ANALYSTE],[AVIS DZ],[COMMENTAIRE DZ],[AVIS DR],[COMMENTAIRE DR],[AVIS RAR],[COMMENTAIRE RAR],[CODE INITIATEUR],[CODE VALIDEUR],[AGENCE],[DATE VALIDATION]) "
    strSQL = strSQL & "Values ('DATE INITIATION','NUM CLIENT','REVENU','CUMUL ENGAGEMENT','VISA DEMANDE','AUTORISATION','SOLDE AVANT VISA','SOLDE APRES VISA','SITUATION NETTE','DELAI DE REGULARISATION','COMMENTAIRE CC','AVIS DGAE','COMMENTAIRE DGAE','AVIS RPR','COMMENTAIRE RPR','AVIS ANALYSTE','COMMENTAIRE ANALYSTE','AVIS DZ','COMMENTAIRE DZ','AVIS DR','COMMENTAIRE DR','AVIS RAR','COMMENTAIRE RAR','CODE INITIATEUR','CODE VALIDEUR','AGENCE','DATE VALIDATION');"
    'strSQL = "update  [" & Feuille & "] set EXPL='toto' where  [User Code]='DE2545';"
    Cnx.Execute strSQL
    Set requete = CreateObject("ADODB.recordset")
    strSQL = "select * from [" & Feuille & "]  where  [DATE INITIATION]='DATE INITIATION';"
    requete.Open strSQL, Cnx
    While requete.EOF = False
     
    Debug.Print requete("DATE INITIATION") & " | " & requete("NUM CLIENT") & " | " & requete("CUMUL ENGAGEMENT")
    requete.movenext
    Wend
    Cnx.Close
    Set Cnx = Nothing
    End Sub

  15. #35
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Par défaut chez moi ça fonctionne
    oui mais dans ce dernier code tu as changé la chaîne de connexion comme je te l'ai demandé plus haut !

  16. #36
    Invité
    Invité(e)
    Par défaut
    oui elle datait de ma jenesse il faut vivre avec son temp les deux marche mais je pense a mon delete a tester!
    Dernière modification par AlainTech ; 10/09/2014 à 22h02. Motif: Suppression de la citation inutile

  17. #37
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    oui elle datait de ma jenesse il faut vivre avec son temp les deux marche mais je pense a mon delete a tester!
    la première ne marche pas chez capi81 ... (ni chez moi d'ailleurs) ...

  18. #38
    Invité
    Invité(e)
    Par défaut
    Si la 2 fonctionne chez toi, tu avais doublement raison!

  19. #39
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Ca marche chez moi.
    Il reste à l'adapter maintenant avec les données de mon usf.
    Puisque mon usf comporte 6 textbox, j'ai essayé d'adapter votre code à ma compréhension.
    voici mon adaptation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSQL = "insert into [" & Feuille & "] ([DATE INITIATION],[NUM CLIENT],[REVENU],[CUMUL ENGAGEMENT],[VISA DEMANDE],) "
            strSQL = strSQL & "Values ('textbox1.vaue','textbox2.value','textbox3.value','textbox4.value','textbox5.value','textbox6.value');"
    J'ai testé mais résultat pas concluant. il y'a erreur ici:

  20. #40
    Invité
    Invité(e)
    Par défaut
    Avant value tu ],) "enlaive la ,
    virgule

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Copier des données d'un fichier vers un autre sans écraser le second
    Par jalons dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 09/04/2013, 20h07
  2. [XL-2003] Bouton pour transférer des données d'un fichier Excel vers un autre
    Par Alfred23 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 07/09/2011, 16h46
  3. Transférer des données d'une base vers une autre
    Par benyamin139 dans le forum JDBC
    Réponses: 15
    Dernier message: 18/04/2011, 11h08
  4. [XL-2003] Transférer des données d'un fichier dans un autre et Renommer le fichier
    Par sylviobarca dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2011, 14h19
  5. Réponses: 4
    Dernier message: 25/01/2007, 13h38

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