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 :

{VBA Excel}Ouvrir copier et fermer plusieurs fichiers excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut {VBA Excel}Ouvrir copier et fermer plusieurs fichiers excel
    Voila mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub recopie()
    Dim A180_PROD_1_LOT_7083004 As Workbook
    Dim fl As Worksheet
    Dim Cell As Range
        Set thomas = Workbooks.Open("C:\Documents and Settings\S8746037\Bureau\Etude\Programme Excel Stephane\JB\Archivage\A180_PROD_1_LOT_7083004.xls")
        Set fl = thomas.Worksheets("5")
        Workbooks("thomas.xls").Sheets("Feuil1").Range("A1").Value = _
          fl.Range("A14").Value
     
    End Sub
    ce code me permet d'ouvrir un fichier et de copier une cellule

    je voudrais trouver une solution pour que ce code ouvre plusieurs fichier qui ont le meme nom A180_PROD_1_LOT_7083004 mais pas le meme numero de fin (en rouge)

    et de copier la cellule A14 de tous ces fichier dans le fichier thomas a la suite
    et apres de fermer les fichiers excel

    Est ce possible de faire cette opération en caché?


    J'ai deja essayer de remplacer les numéros par des * ou des # car ils ont tous le meme nombre de numéro mais ca ne marche pas

    si vous avez une idée pour m'aiguiller

    merci d'avance

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Regarde du coté de la fonction Dir, tu peux parcourir des fichiers dans un dossier

    A c emoment la tu pourra écrire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim fic as string
    fic = Dir("C:\Documents and Settings\S8746037\Bureau\Etude\Programme Excel Stephane\JB\Archivage\A180_PROD_1_LOT*.xls")
    Do Until fic = ""
    'ta procédure
    fic = Dir
    Loop
    Pour plus d'informations sur la fonction Dir, tu peux regarder dans l'aide en ligne tout cela est parfaitement expliqué et très clair
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub compter()
    Dim fic As String
    thomas = Dir("C:\Documents and Settings\S8746037\Bureau\Etude\Programme Excel Stephane\JB\Archivage\A180_PROD_1_LOT*.xls")
    Do Until thomas = ""
    
    Set fl = thomas.Worksheets("5")
        Workbooks("thomas.xls").Sheets("Feuil1").Range("A1").Value = _
          fl.Range("A14").Value
    
    thomas = Dir
    Loop
    
    End Sub

    mais ca me marque une erreur en me disant "objet requis"

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Dir renvoie une String...

    Et une string n'a pas de propriété ni de collections de même qu'on ne peut pas lui appliquer une méthode.

    Autrement dit, n'a aucun sens.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Citation Envoyé par AlainTech
    Dir renvoie une String...

    Et une string n'a pas de propriété ni de collections de même qu'on ne peut pas lui appliquer une méthode.

    Autrement dit, n'a aucun sens.

    Alain, au vu de ce que tu dis, je sais que la fonction dir renvoie une string, mais est-ce qu'on peut quand meme le définir directement comme un workbook ? ou faut quand meme le définir avant, en faisant par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim w as workbook
    set w = workbooks(thomas)
    ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Par défaut
    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
    Sub compter()
    Dim fic As String
    Dim fl As Worksheet
    
    fic = Dir("C:\Documents and Settings\S8746037\Bureau\Etude\Programme Excel Stephane\JB\Archivage\A180_PROD_1_LOT*.xls")
    Do Until fic = ""
    
       Set fl = Workbooks(thomas).Sheets("5")
        Workbooks("thomas.xls").Sheets("Feuil1").Range("A1").Value = _
          fl.Range("A14").Value
    
    thomas = Dir
    Loop
    
    End Sub

    ca me marque l'indice n'appartient pas a la selection
    la je suis completement perdus

  7. #7
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Normal, déja thomas tu l'as pas défini

    je pense que tu voulais le définir comme suit :

    t'a juste oublié de le définir

    du coup ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set fl = thomas.Worksheets("5")
    est faux car thomas n'est pas un classeur, mais un NOM de classeur, et il faut l'utiliser comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set fl = workbooks(thomas).sheets("5")
    mais fl il faut le définir auparavant tu l'as pas fait :

    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

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

Discussions similaires

  1. [XL-2010] Tableau Excel réalisant la synthèse de plusieurs fichiers Excel
    Par Phil_57 dans le forum Excel
    Réponses: 8
    Dernier message: 05/10/2014, 00h00
  2. [XL-2010] Macro pour Ouvrir un fichier Excel a partir d'un autre fichier Excel
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/06/2013, 13h27
  3. Réponses: 4
    Dernier message: 27/06/2013, 08h09
  4. [XL-2010] Ouverture d'un fichier Excel au lancement d'un autre fichier Excel
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/07/2012, 14h04
  5. [VBA-E]une macro unique pour plusieurs fichiers excel
    Par fanchic29 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/04/2006, 16h20

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