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 le contenu d'une feuille dans la feuille d'un autre classeur [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Copier le contenu d'une feuille dans la feuille d'un autre classeur
    Bonjour,

    Je désire copier le contenu d'une feuille (qui est dans le classeur ou est situé la macro) dans un onglet d'un autre classeur que j'ai ouvert grâce à une manipulation du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Fichier = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
    If Fichier <> False Then
        Set wbk = Workbooks.Open(Fichier)
    Le nom de l'onglet cible est toujours le même, même si le nom du classeur varie.

    Je n'arrive pas à trouver pourquoi ce bout de code ne marche pas.
    Pas de messages d'erreur, j'ai l'impression qu'il colle du "vide" dans la feuille cible du deuxième classeur...

    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
    Set wbk = Workbooks.Open(Fichier)
     
        Set VDB_GSL = ThisWorkbook.Sheets("VDB_GSL")
        Set cibleVDB_GSL = wbk.Sheets("VDB_GSL")
     
        With VDB_GSL
        Sheets("VDB_GSL").Select
        Cells.Select
        Selection.Copy
     
            With cibleVDB_GSL
            Sheets("VDB_GSL").Select
            ActiveSheet.Paste
     
                Set VDB_GSL = Nothing
                Set cibleVDB_GSL = Nothing
     
            End With
        End With
    Set wbk = Nothing
    Merci pour votre aide

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir.

    D'un point de vue syntaxique, les With ne servent à rien, puisqu'il n'y a pas d'arguments ".quelquechose".
    ENsuite, il n'est pas très adroit de sélectionner les objets.
    Essaies 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
    16
    17
    18
    Dim wbk As Excel.Workbook
    Dim VDB_GSL As Excel.Worksheet
    Dim cibleVDB_GSL As Excel.Worksheet
    Dim Fichier As Variant
     
    Fichier = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
     
    If Fichier <> False Then
        Set wbk = Workbooks.Open(Fichier)
        Set VDB_GSL = ThisWorkbook.Sheets("VDB_GSL")
        Set cibleVDB_GSL = wbk.Sheets("VDB_GSL")
     
        VDB_GSL.UsedRange.Copy cibleVDB_GSL.Range(VDB_GSL.UsedRange.Address)
    End If
     
    Set VDB_GSL = Nothing
    Set cibleVDB_GSL = Nothing
    Set wbk = Nothing
    A mettre au point car non testé.

    Cordialement,

    PGZ

  3. #3
    Membre expérimenté Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Points : 1 482
    Points
    1 482
    Par défaut
    Bonjour
    Voici ce que j'utilise pour ce gende de demande
    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
    44
    45
    Sub Module1ImportFichierSélectionné()
    Application.ScreenUpdating = False  'accélère la macro
    Set Destination = ActiveWorkbook
     
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString, Msg1, Style1, Title1, Help1, Ctxt1, Response1, MyString1
    Msg = "Ouvrir le fichier demandé ? "
    Style = vbYesNo + vbDefaultButton1
    Title = "Ouverture du fichier source"
    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
     
    If Response = vbYes Then
        MyString = "Yes"
     
                Source = Application.Dialogs(xlDialogOpen).Show
                If Source = False Then
                MsgBox ("Aucun fichier sélectionné")
                Exit Sub
                Else
                Set Source = ActiveWorkbook
     
     
                Source.Activate 'Fichier sélectionné activé
                Sheets(1).Select 'Onglet activé
                Cells.Select 'Feuille entièrement sélectionnée
                Selection.Copy
     
     
     
                Destination.Activate 'Fichier Onglet numéro 2 activé
                Feuil2.Select 'Onglet activé
                Range("a1").Select
                Selection.PasteSpecial Paste:=xlPasteValues 'Collage spécial valeurs
     
     
                Source.Activate 'Fichier sélectionné activé
                Application.CutCopyMode = False
                ActiveWindow.Close SaveChanges:=False 'Fichier sélectionné fermé
                End If
     
    Else
    MyString = "No"
    MsgBox ("Aucun fichier sélectionné")
     
    Exit Sub
    End If
    Cordialement

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Merci, avec vos bouts de codes ça marche parfaitement

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2008, 09h23
  2. vba excel:copier le contenu d'une feuil dans une autre feuil
    Par yucf_miagiste dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/09/2007, 19h53
  3. Réponses: 13
    Dernier message: 18/05/2007, 16h06
  4. copier le contenu d'une forme dans word
    Par didami dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/05/2007, 15h35
  5. Copier le contenu d'une cellule dans une variable sous excel
    Par franckB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/04/2007, 19h54

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