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 :

COpier coller une feuille externe dans document ouvert


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 51
    Points : 19
    Points
    19
    Par défaut COpier coller une feuille externe dans document ouvert
    Bonjour,

    Voilà, j'ai crée, dans un document 1, un bouton où l'on va choisir son fichier excel.
    par contre ce que j'aimerai c'est qu'on copie la feuille du fichier qu'on a été chercher et qu'on le coller dans l'onglet 2 du document 1.

    j'ai fait :

    "
    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
    Private Sub CommandButton1_Click()
    Dim Greg1 As String
    Dim CL0 As Workbook
    Dim CL1 As Workbook
     
    MsgBox ("Sélectionnez le fichier correspondant au territoire 1")
    Greg1 = Application.GetOpenFilename
    MsgBox (Greg1)
    Workbooks.Open (Greg1)
    DoEvents
    'Set CL1 = Workbooks(Greg1)  'ActiveWorkbook
    CL1.Worksheets(1).Range("A1:IV36").Copy ActiveWorkbook.Worksheets(2).Range("A1")
    'CL1.Sheets(1).Copy After:=Workbooks("Projet_Ico.XLS").Sheets(4)
    '        Workbooks(classeur2).Activate
    '        Sheets.Add
    '        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    '        :=False, Transpose:=False
     
    '        Workbooks(classeur1).Activate
     
     
    End Sub"
    mais rien n'y fait ...
    Si vous avez des idées, je suis prenneur.

    merci et bonne soirée.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je suppose que ce qui est en commentaire dans ton code vient d'une macro?
    je pense que ce que tu veux c'est bien copier/coller une feuille et non des cellules, dans ce cas la partie en commentaire est bonne à ceci pres que tu dois l'adapter à ta situation (non de classeur et de feuille)

    je pense a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Workbooks("Greg1").sheets(1).Copy Before:=Workbooks("doc1").Sheets(2)
     
    ' si j'ai bien compris ton bouton serai dans le classeur "doc1" du coup 
    ' Workbooks("doc1") est facultatif avant le .Sheets(2)
    Voila, j'espere que je suis pas a coté de ta question

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une première partie, car il faut préciser ce que vous voulez faire ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    Dim Greg1 As String
    Dim CL0 As Workbook
    Dim CL1 As Workbook
     
    MsgBox ("Sélectionnez le fichier correspondant au territoire 1")
    Greg1 = Application.GetOpenFilename
    MsgBox (Greg1)
    Workbooks.Open (Greg1)
    DoEvents
     
    mf = Dir(Greg1)
    Set CL1 = Workbooks(mf)
    Votre procédure se trouve bien dans un module ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    Bonjour

    oui oui je confirme ma procédure est bien dans un module.

    bonne soirée

    et merci pour vos réponses au passage.

    UP : ce que je vais par la suite ?

    et bien, je veux copier un autre fichier que je choisirai de la même manière, mais dans l'onglet 3.
    UNe fois ceci fait, je veux faire des calculs avec certaines données de l'onglet 2 et onglet 3 pour les faire apparaître dans un 4eme onglet ...
    je sens que je vais transpirer mais bon

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    arg je viens de vérifier et cette partie de mon programme n'est pas dans un module.
    J'ai testé et dans un module ça ne fonctionne pas du tout, il ne me fait rien.
    Je l'ai remis dans mon programme et il me met une erreur sur "mf" en me précisant : "can't find projet or library" ...

    Pourquoi il me met une erreur quand je fais juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Greg1").Worksheets(1).Copy
    ? c'est pas normal si ?
    J'ai droit à un "subscript out of range" ...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    Bonjour,
    j'ai un peu avancé :

    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
    Private Sub CommandButton1_Click()
    Dim Greg1 As String
    Dim CL0 As Workbook
    Dim CL1 As Workbook
     
    MsgBox ("Sélectionnez le fichier correspondant au territoire 1")
    Greg1 = Application.GetOpenFilename
    MsgBox (Greg1)
    Workbooks.Open (Greg1)
    DoEvents
    Set CL1 = ActiveWorkbook
    DoEvents
    CL1.Sheets(1).Copy Workbooks("Projet_Ico.xls").Sheets("Fichier_1")
     
    End Sub
    il me copie bien ma feuille de Greg1 par contre il y a moyen de la copier sans ouvrir le document, c'est lourd.
    Et autre chose, il ne me la colle pas là où elle drvait, moi je veux qu'elle soit coller sur "projet_Ico" dans l'onglet nommé "Fichier_1".

    Le gros problème aussi je pense c'est quand dans mon Greg1, j'ai un onglet qui utilise les nombres qui seront "coller" dans mon onglets "Fichier_1" ...
    DOnc ce que je souhaiterai c'est que je colle dans l'onglet "Fichier_1"

    FInalement j'ai fait ceci :

    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
    Private Sub CommandButton1_Click()
    Dim Greg1 As String
    Dim CL0 As Workbook
    Dim CL1 As Workbook
     
    MsgBox ("Sélectionnez le fichier correspondant au territoire 1")
    Greg1 = Application.GetOpenFilename
    MsgBox (Greg1)
    Workbooks.Open (Greg1)
    DoEvents
    Set CL1 = ActiveWorkbook
    DoEvents
    CL1.Worksheets(1).Range("A1:E65").Copy Workbooks("Projet_Ico.xls").Sheets("Fichier_1").Range("A1")
     
    End Sub
    et ça marche tout aussi bien.

    Par contre, comment faire pour fermer juste le fichier Greg1 qui est ouvert et derrière mon fichier "projet ico" ?

    Car je l'ai ouvert pour faire ma copie via le
    mais le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.close (Greg1)
    ne marche pas

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour à tou(te)s,

    pour fermer un classeur :
    bonne journée

    PS : je n'ai pas regardé le reste

Discussions similaires

  1. Copier coller une feuille dans une autre feuille avec condition
    Par souhail72 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/03/2015, 09h52
  2. Copier/coller une feuille (données + mise en page)
    Par veriecherie dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/07/2009, 17h15
  3. Ouvrir et copier-coller une feuille web
    Par Gautheron dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/04/2009, 10h50
  4. Réponses: 3
    Dernier message: 15/12/2008, 15h46
  5. Réponses: 1
    Dernier message: 19/12/2006, 16h12

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