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

VBA Discussion :

[VBA]Problème ouverture - copie fichers de plusieurs sources


Sujet :

VBA

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut [VBA]Problème ouverture - copie fichers de plusieurs sources
    Bonjour,

    je vous explique :

    J'ai un fichier de synthèse dans lequel je veux copier des feuilles qui sont dans d'autres classeurs. Mais ca ne marche pas.


    Voila mon code actuel :

    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
    Sub ouverture()
    '
    ' ouverture Macro
    ' Macro enregistrée le 24/04/2007 par d824758
    '
    Dim F
    
    ' je vais recuperer les fichiers qui se trouvent dans un dossier.
    
    With Application.FileSearch
    .NewSearch
    .LookIn = "C:\Documents and Settings\D820060\Bureau\aurelien\test"
    .Execute
    
    On Error Resume Next
    
    For Each F In .FoundFiles
    MsgBox (F) ' pour verification je voulais voir quels fichier il ouvrait
    Workbooks.Open Filename:= _
            F _
            , UpdateLinks:=0
        Windows(F).Activate ' Active le classeur qu'il a ouvert et copie 3 feuilles dans global_antennes2
       Sheets("Synthese article magasin").Select
        Sheets("Synthese article magasin").Copy Before:=Workbooks("global_antennes2").Sheets(1)
    
        Windows(F).Activate
    
        Sheets("synthese fourniture de bureau").Select
        Sheets("synthese fourniture de bureau").Copy After:=Workbooks("global_antennes2"). _
            Sheets(1)
    
        Windows(F).Activate
    
        Sheets("synthese consom. informatique").Select
        Sheets("synthese consom. informatique").Copy After:=Workbooks("global_antenes2"). _
            Sheets(1)
    Windows(F).Close
    
    
    Next F
    
    End With
    
    End sub

    En fait il ouvre bien tous les fichiers qui se trouvent dans le repertoire indiqué mais il ne copie pas les feuilles, et ne ferme pas les fichiers qui ont ete ouverts.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bonjour kullervo, bienvenue sur le forum. Je passe une adresse qui pourrait t'aider dans tes recherches.
    Tu dois baliser ton code pour le rendre lisible. En édition, tu le sélectionnes, tu fais un clic sur l'icône # dans la barre d'outils.
    Pour corriger un post, tu as le bouton "Editer" en bas de ton message.
    Cette fois-ci, je le fais mais penses-y

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Essaie ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim F as workbook
    '...
    '...
        F.Worksheets("Synthese article magasin").Copy _
        Before:=Workbooks("global_antennes2").Sheets(1)
    Inutile de sélectionner la feuille ou le classeur. Le classeur ? tu viens de l'ouvrir. La feuille ? tu la nommes

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    ok desolé mr le poulet

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    ok j'essaye ca ! je vous tiens au courant.

    edit : et bien non ca marche pas, ca ne m'ouvre meme plus les fichiers. Et ma msg box n'affiche plus rien.

    Si je met juste : Dim F sans mettre as Workbook ca ouvre les fichiers et la msg box affiche les noms de fichier avec le chemin ! Mais ca copie toujours pas les feuilles.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Oui, ce n'est pas encore un workbook au moment où tu lis le nom. Autant pour moi.
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim F as variant '(par défaut)
    Dim cl as workbook
    With Application.FileSearch
    .NewSearch
    .LookIn = "C:\Documents and Settings\D820060\Bureau\aurelien\test"
    .Execute
     
    On Error Resume Next
     
    For Each F In .FoundFiles
    MsgBox (F) ' pour verification je voulais voir quels fichier il ouvrait
        set Cl = Workbooks.Open Filename:=F 
        Cl.Worksheets("Synthese article magasin").Copy _
        Before:=Workbooks("global_antennes2").Sheets(1)
    Teste ça pour moi
    A+

    NB - Et d'abord, chuis pas un poulet, chuis le dernier des dodos

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        set Cl = Workbooks.Open Filename:=F

    ERREUR :

    attendu : fin d'instruction


    ca m'ennerve VBA

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bon ! Va falloir que je teste
    A+

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Workbooks.Open Filename:=F
        Set cl = ActiveWorkbook
        cl.Worksheets("Feuil1").Copy _
        Before:=cl2.Sheets(1)
    Chez moi, cette syntaxe fonctionne (cl2 étant l'instance du fichier receveur)
    Tu dis

  9. #9
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Non ca marche tjs pas !

    Je remet le code au cas ou j'ai mal recopié ce que tu ma dit :


    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
    Sub essai()
     
    Dim F As Variant '(par défaut)
    Dim cl As Workbook
    With Application.FileSearch
    .NewSearch
    .LookIn = "C:\Documents and Settings\D820060\Bureau\aurelien\test"
    .Execute
     
    On Error Resume Next
     
    For Each F In .FoundFiles
    MsgBox (F) ' pour verification je voulais voir quels fichier il ouvrait
        Workbooks.Open Filename:=F
        Set cl = ActiveWorkbook
        cl.Worksheets("Synthese article magasin").Copy _
        Before:=cl2.Sheets(1)
     
    Next F
     
    End with
     
    End Sub
    Y a pas un problème du fait que le classeur qui recupere les feuilles ne soit pas dans meme dossier que les autres classeurs ??? edit : j'ai mis le classeur dans meme dossier que les autres mais ca change rien !


    Ce qui est bizarre aussi c'est que ca ferme pas la feuille. Ca copie pas la feuille et ca ferme pas le classeur.

  10. #10
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Bon et bien j'ai trouvé la solution.

    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
    Sub essai()
     
    Dim F As Variant '(par défaut)
    Dim cl As Workbook
    Dim cl2 As Workbook
    Set cl2 = ActiveWorkbook
     
    With Application.FileSearch
    .NewSearch
    .LookIn = "C:\Documents and Settings\D820060\Bureau\aurelien\test"
    .Execute
    End With
     
    On Error Resume Next
    Max = cl2.Worksheets.Count
    For Each F In Application.FileSearch.FoundFiles
    MsgBox (F) ' pour verification voir quels fichier il ouvre
        Workbooks.Open Filename:=F
        Workbooks(F).Activate
     
        'Set cl = ActiveWorkbook
     
        Worksheets("Synthese article magasin").Copy Before:=cl2.Worksheets(1)
        'cl.Worksheets.Item(1).
    Next F
     
    End Sub

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

Discussions similaires

  1. [VBA]Problème de copie de ligne
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/06/2007, 09h47
  2. {VBA excel}OUverture,Extraction et Copie d'un fichier Excel dans un autre
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/06/2007, 09h43
  3. [EXCEL - VBA] Problème ouverture fichier suite Macro Userform
    Par Guidhy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2007, 09h18
  4. [AJAX] Plusieurs sources
    Par shadowbob dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/08/2006, 15h35
  5. [VBA-E] Problème de copie de données
    Par JM_stp dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/02/2006, 00h33

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