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 :

Connexion entre 2 workbooks via un fichier .csv et un bouton de commande


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 14
    Par défaut Connexion entre 2 workbooks via un fichier .csv et un bouton de commande
    Bonjour le forum,

    Voila je possède deux documents xls, l'un contenant mes valeurs sous la forme d'un tableau croisé dynamique et un autre contenant un tableau de valeurs en fonction du temps afin d'obtenir un graphique.

    Je souhaiterais ainsi copier mes valeurs provenant du pivot vers une colonne dédiée de mon tableur de valeur.
    Je pensais passer par l'intermédiaire d'un fichier .csv afin d'extraire les valeurs du pivot et ensuite importer les valeurs dans mon autre workbook dans la colonne souhaitée.
    Puis je importer une certaine colonne d'un fichier .csv dans une feuille .xl?

    Eventuellement je pensais effectuer l'enregistrement "Save as" en fichier .csv et l'import de données sur ma feuille xl via un bouton de commande et un programme en vba associé.

    Dans cette optique, j'ai rédigé le programme ci dessous mais je rencontre un conflit entre le fichier csv et le fichier d'origine puisqu'il ne prend pas en compte la ligne Activeworkbook.save apres l'enregistrement sous csv. En effet méme avec le "save' il me demande si je veux sauvegarder, ce qui mets en péril l'éxécution du reste du programme
    De plus mon fichier avec le pivot se nomme désormais de la même façon que mon fichier csv..:/

    Cela fait un moment que je planche sur cela, j'ai besoin d'un regard neuf et surement plus expérimenté en VB.

    Merci d'avance


    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
    Private Sub CommandButton1_Click()
     
    Dim wb As Workbook
    Dim ws As Worksheet
     
    ChDir "D:\Documents and Settings\39518\Desktop\draft"
    'enregistrement sous en csv
        ActiveWorkbook.SaveAs Filename:= _
            "D:\Documents and Settings\39518\Desktop\draft\TestQueing.csv", FileFormat _
            :=xlCSV, CreateBackup:=False
     
    'sauvegarde du fichier avec le pivot
        ActiveWorkbook.Save
    'fermeture du fichier
        ActiveWorkbook.Close
     
    'ouverture du fichier csv
        Workbooks.Open Filename:= _
        "D:\Documents ans Settings\39518\Desktop\draft\TestQueing.csv"
    'selection de la premiere serie de donnee
        Range("C8:C31").Select
    'copie
        Selection.Copy
    'ouverture du fichier recuperant les valeurs
        Workbooks.Open Filename:= _
            "D:\Documents and Settings\39518\Desktop\draft\Masterfiletest.xls"
    'selection et coller
        Range("C2").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
     
    'retour au fichier csv et meme approche pour la prochaine serie de donnees
        Windows("TestQueing.csv").Activate
        Range("C33:C56").Select
        Selection.Copy
        Windows("Masterfiletest.xls").Activate
        Range("C27").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
     
    End Sub

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 14
    Par défaut
    Re,

    Changement réalisé au niveau de la ligne 13:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'réactiver la fenétre du fichier pivot (qui porte désormais le méme nom que le fichier csv :/) 
    Windows("TestQueing.csv").Activate
    'sauvegarder
        ActiveWorkbook.Save
    'fermer
        Windows("TestQueing.csv").Close
    Probléme:
    Il m'ouvre toujours une boite de dialogue me demandant si je veux sauvegarder, cela met en péril la suite du programme qui ne se réalise pas :/

    Y aurait il un moyen de passer outre cette boite de dialogue ou qu'il sauvegarde et ferme correctement ce fichier?

    Cordialement

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Remplace ces deux lignes de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWorkbook.Save
    'fermer
        Windows("TestQueing.csv").Close
    Par celle -ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Close true

Discussions similaires

  1. connexion entre deux pc via socket
    Par khawlita dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/03/2009, 21h50
  2. Copier-coller entre fichier CSV et XLS
    Par da991319 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/09/2007, 21h42
  3. [AJAX] Transmettre un fichier XML entre deux serveurs via un client
    Par quentin_ler dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/08/2007, 10h03
  4. ourir un fichier CSV via Access
    Par pioupiouafr008 dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/08/2007, 09h54
  5. Réponses: 3
    Dernier message: 17/11/2006, 18h12

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