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-E] copie d'1 .xls à un autre (besoin de vos lumières)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut [VBA-E] copie d'1 .xls à un autre (besoin de vos lumières)
    Bonjour à tous,

    j'ai un .xls qui me sert de master file (c'est-à-dire que je vais y mettre toutes les infos en relation avec ce que je suis en train de faire). Ces infos je les récupère sur des autres .xls qui eux meme sont dans des sous-dossiers. Mon problème est le suivant : j'ai presque 100 contenus de cellules par .xls à copier/copier sur mon masterfile.
    Quelqu'un aurait-il une idée me permettant de copier/coller mes infos sans créer de variables (parce que la j'en ai pour 2 jours pour les créer).

    Je récapitule : 2 .xls doivent être ouverte en même temps, et je dois copier quasiment tout le contenu d'une dans l'autre sans passer par des variables.

    Merci à vous :]

  2. #2
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    Salut,

    Par hasard, faut-il que tu récupères absolument tout?

    Autre question, s'il y a certains champs à ne pas récupérer (et s'ils ne sont pas nombreux...), pourquoi ne pas copier l'ensemble des champs et supprimer seulement ce qui ne te vont pas?

    Un peu bourrin, s'il y a quelqu'un d'autre qui a mieux.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    je dois récupérer les infos sur un formulaire formaté par les ressources humaines. Je n'ai besoin que des champs remplis par les employés, pas les questions qui sont posées aux employés.
    Vu le formulaire, je ne peux pas faire de tri comme cela, il me faut selectionner chaque champ pour ensuite les recopier.

  4. #4
    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 546
    Points
    15 546
    Par défaut
    Je viens de voir ta dernière réponse
    Nouvelles questions : Tes données à récupérer sont-elles en colonnes ?
    Veux-tu réunir sur une seule feuille ou sur plusieurs ?

    Tu dis

    A+

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    J'ai besoin d'avoir au final toutes les infos sur la même feuille (ce que j'appelle masterfile).

    Mes données sont éparpillées au départ, et ensuite je range toutes les infos similaires par colonne.

  6. #6
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    éparpillées aléatoirement ou au même endroit à chaque fois?

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    au même endroit normalement (si les employés n'ont pas modifiés les formulaires, ce qui reste à prouver). Mais j'ai eu besoin lorsque je renomme les fichiers formulaires de gerer des exceptions, je n'avais pas les même champs (pour le nom et l'année notamment), les tests me diront si je dois en gerer la aussi. Je ne peux pas me permettre de gerer les formulaires au cas par cas, vu le nombre conséquent qui est a ma disposition (environ 200, bientot 2500).

  8. #8
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    et si tu n'utilises qu'une variable?

    tu ouvres, tu copies dans une variable, tu la colles dans l'autre, et tu recommences...

  9. #9
    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 546
    Points
    15 546
    Par défaut
    Donc, tu dois coller des colonnes contenant les réponses, et
    - comme les noms de champs peuvent être différents, tu dois créer à la copie autant de colonnes que de champs
    - comme tu dois réunir tes données à la fin afin que les dates correspondent aux dates, les noms aux noms dont les noms de champs peuvent être différents
    - comme tu peux avoir 2500 formulaires...

    Tu es obligé de gérer les noms de champs lors de la copie.
    Imagine que seulement deux noms de champs soient différents par formulaire... ça fait deux colonnes par formulaire
    Excel ne voudra jamais t'accorder ça.

    Tu y réfléchis et tu dis

    A+

    NB - Si j'ai bien compris

  10. #10
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    quand je vais update le masterfile avec ttes les infos ca va mettre 15 plombes si je fais comme ca non ? En plus, il y a des pbs de réseaux en ce moment, ca va sur-ramer

    Pour le moment je reste avec mes variables par champ. (17/96 pour le moment :'()

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Citation Envoyé par ouskel'n'or
    - comme tu dois réunir tes données à la fin afin que les dates correspondent aux dates, les noms aux noms dont les noms de champs peuvent être différents

    houla sur 7 mots t'a utilisé 3 fois nom faut etre concentré quand on lit ça

    EDIT : c'est quoi que tu appelle variable au juste ici ?

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    euh ouskel, je vais avoir 96 colonnes par formulaires. si je n'ai pas la bonne cellule bah il faudra que je gere mes exceptions (en espérant qu'il y en aura pas beaucoup )

  13. #13
    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 546
    Points
    15 546
    Par défaut
    Ben voui, quand on veut exprimer clairement les choses... faut être clair !

  14. #14
    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 546
    Points
    15 546
    Par défaut
    Plus sérieusement...
    Tu vas donc être contraint de tester tes noms de champs, teaRz.
    Ont-ils un élément commun dans les différents formulaires que tu as à traiter
    Ex : "Nom de la personne" dans l'un, "Nom du titulaire" dans l'autre, "Date du jour" et "Date"
    C'est, je pense ce que tu appelles les "exceptions"

    Je pense à une chose : Evidemment, l'ordre des données est différent selon le formulaire... sinon ce ne serait pas drôle...

    Tu dis

  15. #15
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    Ils n'ont en commum que la question a laquelle ils repondent.
    Je crois que je vais garder mes variables tanpis... et je gererais mes exceptions pendant la phase de test.

  16. #16
    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 546
    Points
    15 546
    Par défaut
    Je commence à entrevoir une solution.
    Tu dois classer les noms de champs correspondants par familles
    Une famille = une colonne
    A l'aide d'un select case, tu vas dans une famille ou dans une autre.
    Et là tu peux ranger tes affaires éparpillées.

    C'est ta mère qui va être contente !

    Pour le jeu des familles j'ai pensé à une solution, je la vérifie et je te dis.

    A+

  17. #17
    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 546
    Points
    15 546
    Par défaut
    Si la colonne réponse suit la colonne solution, alors le problème est réglé.
    Mais maintenant, si tu utilises des variables, alors tu n'as plus besoin de nous... C'est ça ?

    Besoin ou /besoin ?

    Tu dis

    A+

  18. #18
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    j'ai déja organisé mon master file avec comme nom de colonne la question (d'ou mes 96 colonnes)

    Le champ réponse ne suit pas forcement le champ question, des commentaires ont ete ajoutés afin d'aider au remplissage du formulaire.

    Pour le moment je ne mets pas de résolu (puisque ce n'est pas le cas ), vous laissant cogiter sur la chose, je fais de même de mon coté tout en continuant a saisir mes variables.

    Merci quand même :]

  19. #19
    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 546
    Points
    15 546
    Par défaut
    Juste pour l'idée, voilà comment je verrais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub SelectCaseTableau()
    Dim Famille(2)
        Famille(1) = "TableauNoms" 'tableau des noms de champs pour les noms
        Famille(2) = "TableauDates" 'idem pour les dates
        TableauNoms = Array("Canard", "Cochon", "Chien", "Chat", "Poule", "Vache", "Mouche", "Truc", "bazard")   'etc
        TableauDates = array("un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", "dix", "onze", "douze") 
        'La donnée est dans la famille(1) C'est un test sur les noms de chaps qui le détermine 
        i = 1
        Select Case Famille(i)
            Case "TableauNoms"
                MsgBox TableauNoms(5)
            Case "TableauDates"
        End Select
    End Sub
    Juste pour l'idée

    Tu dis

    A+

    où "Cochon", "Canard"... sont les différents noms de champs que tu peux rencontrer pour un même champ "Nom"
    et où "Un", "deux"... sont les différents noms de champs que tu peux rencontrer pour un même champ "Date"

  20. #20
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 21
    Points
    21
    Par défaut
    Le problème avec cela c'est que mon tabnom va avoir 2500 noms différents, le tabdate 5OOO (2500 pour leur date d'entrée chez airbus, 2500 pour leur date a ce poste). Ca me parait encore plus hardu que mes 96 variables :p

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VBA-E] Copie d'une feuille à l'autre
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/12/2006, 15h52
  2. [VBA-E]copie spéciale d'un tableau vers un autre
    Par gojira dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/10/2006, 16h21
  3. [VBA Excel] Copie d'une feuille dans un autre fichier
    Par nattyman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2006, 10h35
  4. [VBA-E]copie de .xls et formulaires
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 23/02/2006, 13h31
  5. [VBA Exel] Copier un fichier xls et lui donner un autre nom
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/11/2005, 17h40

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