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 :

ouvrir et copier deux fichiers [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 136
    Par défaut ouvrir et copier deux fichiers
    Bonjour à tous,

    Voila j'ai l'intention d'ouvrir et de copier dans mon classeur excel et sur deux feuille différente deux fichiers en correspondances dans le même dossier.

    J'arrive à ouvrir et à copier dans la feuille 1 le premier fichier avec le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            MsgBox "Selection du fichier" 'boite de dialogue ouvrant un fichier
            strCsv = Application.GetOpenFilename("All Files ,*.*", , "Sélectionner le fichier à ouvrir")
     
     
            Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "." '**Ouvrir fichier
     
            ActiveSheet.Cells.Copy shG.Cells(1, 1) '******************************* Copier contenu dans "feuil1"
            ActiveWorkbook.Close False '******************************************* Fermeture du fichier
    Le premier fichier que j'ouvre s'appel "station1 du 29-5_1"
    Le deuxième fichier que je voudrais ouvrir s'appel "station2 du 29-5_1"
    J'ai réussi a mettre dans la variable strCsv le nom du 1er fichier mais je n'arrive pas à l'utilser pour trouver le 2ème.

    Voila en espérant de mettre bien expliqué, je reste à votre disposition pour d'autre info si besoin.

    Cordialement

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 136
    Par défaut
    j'ai trouver quelque chose qui fonctionne bien quand je debug, mais qui me donne une erreur.

    voila 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
    Sub Récup_données()
        'declaration des variables
        Dim strCsv As String, strTemp() As String
        Dim wb As Workbook, wbTemp As Workbook, shG As Worksheet, shR As Worksheet, shTemp As Worksheet
        Dim I As Integer
        'suppression du rafraichissement d'écran
        Application.ScreenUpdating = False
     
        Set wb = ThisWorkbook
        Set shG = wb.Sheets("Feuil1")
        Set shR = wb.Sheets("Feuil2")
        'sélection du fichier premier fichier
        strCsv = Application.GetOpenFilename("All Files ,*.*", , "Sélectionner le fichier des pièces GOOD à ouvrir")
        If strCsv = "False" Then Exit Sub
            'delete des feuilles "Feuil1" et "Feuil2"
            shG.Cells.Delete
            shR.Cells.Delete
        'ouvrir fichier 1
        Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."
        'copie du fichier 1 dans  la "Feuil1"
        ActiveSheet.Cells.Copy shG.Cells(1, 1)
        'fermeture du fichier
        ActiveWorkbook.Close False
        'recherche du nom du 2eme fichier
        strTemp = Split(strCsv, "\")
        I = UBound(strTemp)
        strTemp(I) = "station2" & Right(strTemp(I), Len(strTemp(I)) - 8)
     
        strCsv = strTemp(0)
        For j = 1 To I
            strCsv = strCsv & "\" & strTemp(j)
        Next j
     
        'ouvrir et copier fichier 2
        Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."
        ActiveSheet.Cells.Copy shR.Cells(1, 1)
        ActiveWorkbook.Close False
     
        Application.ScreenUpdating = True
     
    End Sub

    et voila l'erreur que sa me retourne :

    Erreur d'exécution '1004'
    'station2 du 29-5_1.xls' introuvable. Vérifiez l'orthographe du nom du
    classeur et la validité de l'emplacement.

    Si vous essayez d'ouvrir le fichier à partir de la liste des fichiers les plus récents, assurez-vous que le fichier n'a pas été renommé, déplacé ou
    supprimé.
    voila j'ai vérifier, le nom de ficher est bon, le chemin est bon aussi et il n'a pas été renommé, déplacé ou supprimé ... je ne comprend pas l'erreur
    quelq'un aurait une solution ?

    Cordialement

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Je ne sais pas sur quelle ligne le code plante en tout cas il me semble que pour ouvrir un fichier excel ce n'est pas :

    qu'il faut utiliser mais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim CL1 As Workbook
     Set CL1 = Workbooks.Open(Filename:="D:\...\.....xls")

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 136
    Par défaut
    Arf dans ma précipitation j'ai oublié de dire ou sa planté,

    l'erreur arrive à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       'ouvrir et copier fichier 2
        Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."
    je vais néanmois regarder ce que tu me dit, mais pour ouvrir le premier fichier
    fonctionne bien

    Cordialement

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Le code que tu as repris est sans doute utilisé pour ouvrir des fichiers au format csv

    Ok je te laisse regarder.

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 136
    Par défaut
    bon aprés test acharné , toujour le même résultat
    voila ce que j'ai écrit, je me suis peu être tromper dans ma synthaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim CL1 As Workbook
    Set CL1 = WorkBooks.Open(Filename = strCsv)
    J'ai placé CL1 au tout début ou je déclare mes autres variable


    il me donne la même erreur sauf qu'il me dit cette fois :

    'Faux.xls' introuvable
    ce que je ne comprend pas, il devrait me prendre plutôt le chemin qu'il a calculer au dessu dans la variable strCsv

    Je ne suis pas loin de la solution mais je ne la vois toujours pas ...

    Cordialement

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

Discussions similaires

  1. copier deux fichiers dans un troisième
    Par nina2007 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 30/06/2010, 23h32
  2. Rechercher - copier valeur vers deux fichiers différents
    Par supai dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/02/2010, 14h07
  3. Copier coller entre deux fichiers excel par macro
    Par miss-o-21 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2009, 14h45
  4. copier deux fichiers
    Par solawe dans le forum C
    Réponses: 3
    Dernier message: 15/11/2006, 10h56
  5. clic droit > copier un fichier a deux endroits
    Par meufeu dans le forum Windows
    Réponses: 5
    Dernier message: 25/10/2005, 09h55

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