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 :

Comment copier coller les donnés d'un autre fichier Excel avec une macro?


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    Par défaut Comment copier coller les donnés d'un autre fichier Excel avec une macro?
    Bonjour à tous!

    Présentation :
    Je suis un jeune ingénieur Méthodes, je sais programmer en C et Java et je viens de me mettre au VB sur Excel dans le cadre de mon travail pour le traitement de donné. Je connais donc assez bien les bases de la programmation mais je bloque encore sur certains points.

    Description du problème :
    J'ai deux fichiers xls A et B. Dans le fichier A, j'ai une macro qui permet d'ouvrir le fichier B. Je ne trouve pas comment l'on peut faire pour copier des données du fichier B pour les coller dans le fichier A.

    Exemple de fonction :
    Voici ce que j'ai tenté de faire ;
    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
    Private Sub CommandButton1_Click()
        Sheets("Feuille du fichier A").Select
        Cells.Select
        Selection.ClearContents
        Range("A1").Select
        ChDir "E:\"
        Workbooks.Open Filename:="\Travail\NomDuFichierB.xls"
        Range("G9").Select
        Cells.Select
        Selection.Copy
        Windows("Feuille du fichier A").Activate
        Cells.Select
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Range("A1").Select
        Application.CutCopyMode = False
        ActiveWindow.Close
    End Sub
    Merci pour votre aide!
    Emmanuel

  2. #2
    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 040
    Points
    20 040
    Par défaut
    tiens voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub MACopie()
     Dim shA As Worksheet 'Feuille A
     Dim wB As Workbook 'Classeur B
      Set shA = Sheets("Feuille du fichier A")
      shA.Cells.ClearContents 'efface données
      Set wB = Workbooks.Open(Filename:="E:\Travail\NomDuFichierB.xls")
      shA.Cells.Value = wB.Sheets(1).Cells.Value
      wB.Close False ' ferme sans sauve
      Set wB = Nothing
      Set shA = Nothing
    End Sub

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    Par défaut
    J'ai mis cette double boucle pour limiter le temps de copie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       For x = 1 To 2 Step 1
        For y = 1 To 22 Step 1
            shA.Cells(y, x) = wB.Sheets(2).Cells(y, x).Value
        Next y
      Next x
    C'est nickel ça marche! Merci

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    Par défaut
    Enfin non... J'utilise Rang... C'est mieux mdr!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/12/2012, 09h47
  2. [XL-2003] Comment copier coller des données à intervalle de temps régulier vers un autre classeur
    Par vincentdulabo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2012, 15h59
  3. [XL-MAC 2004] copier/coller les données d'une période vers autre feuille
    Par Wawa07 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/05/2011, 12h10
  4. Réponses: 0
    Dernier message: 28/02/2011, 13h48
  5. Copier coller les données
    Par walidbmw dans le forum Forms
    Réponses: 1
    Dernier message: 29/05/2008, 19h07

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