Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

Transfert Automatique de cellules Excel vers Excel




  1. #1
    deadog182

    Transfert Automatique de cellules Excel vers Excel

    Bonjour,

    Mon problème n’est pas très compliqué pour des experts en Excel, mais étant donné que je ne connais pas du tout ce logiciel cela m’est difficile :
    On m’envoie tout les mois dans le cadre de mon travail des fichiers Excel (que je nommerais toto pour l’exemple) avec une organisation de cellules toujours identique, dans mon travail je dois créer d’autres fichiers Excel (que je nommerais dédé pour l’exemple) et faire références aux données présentent dans les cellules du document toto.

    Pour ce faire je suis obligé de faire une longue manipulation de copier-coller de cellule entre les documents toto et dédé et cela me prend un temps fou et est un travail fastidieux car ces documents Excel sont souvent lourd.

    Connaissez-vous un moyen de créer quelque chose (peut être une application, une manip relativement courte ou autre) qui me permettrait de gagner du temps et de recopier certaines cellules du document toto dans le document dédé.

    Attention les cellules mère que je veux recopier du document toto ne sont pas aux mêmes emplacements que les cellules filles présentes dans le document dédé (sinon j’aurais tout simplement fait un copier-coller du document), là est toute l’astuce…

    Pouvez-vous me décrire aussi la démarche à employé pour changer, ajouter ou retirer des cellules à copier car étant électronicien je connais certains code machine et j’aurais besoin de connaître le procédé et le programme au cas ou l’emplacement de ces cellules changerais plus tard dans les fichiers Excel toto ou dédé.

    Merci beaucoup de vos réponses…

    -----


  2. Publicité
  3. #2
    melekhb

    Wink Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour,
    Si j'ai compris bien votre probleme et de copier quelques cellules excel d'un document à un autre mais ils n'ont pas les mêmes emplacements dans les feuilles sources et cibles.
    La solution est tres facile, faire une copie de tous le document toto et le renommer par dédé ensuite l'ouvrir et faire tous ce que tu veut sur la nouveau document (dédé) comme suppression, déplacement, modification sur ces cellules. par ça tu n'est pas obligé de copier-coller des cellules du document toto vers le document dédé.

  4. #3
    azt

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonsoir,
    est-ce que ton fichier dédé doit agréger les données de tes fichiers d'entrée ?
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]


  5. #4
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonsoir melekhb,

    Je voudrais faire ce que tu dit, cela résoudrais tout mes problémes, mais le probléme c'est que les deux fichiers ssont trés gros et beaucoup de cellules changent apart une quarantaine et je me vois mal juste copier les fichiers et changer dans le nouveau Excel que j'aurais appeller dédé toutes les autres cellules, il faudrait juste que je trouve un moyen de tranférer certaines cellules de toto (environ une quarantaine) dans le nouveau fichier Excel dédé.

    Mais merci quand même melekhb.

  6. #5
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonsoir azt,

    Si tu voit dans agréger le fait de grouper les données d'entrée en vue d'obtenir un résultat synthétique, eh bien pas du tout, je n'est pas besoin d'agréger ces données je veut juste copier ce que comprend certaines cellules du fichier toto dans d'autres cellules du fichiers dédé, mais de facon automatique car dans tout les fichiers Excel toto que je vais recevoir les données sont dans les mêmes cellules, et dans tout les fichiers dédé que je vais créer les données que je dois transférer sont toujours dans les mêmes cellules, par exemple:

    Les cellules A2, B12, C4, D7 et E9 correspondent aux cellules H8, A19, G15, H1 et C29 du fichier dédé.

    Je synthétise parce que je vais pas les faire toutes, y'en as une quarantaine.

    Je dois aussi corriger une erreur j'en recois plus 1 tous les mois mais parfois jusqu'a 35 et la, c'est moins rigolo de copier et coller pendant des heures... lol

    Mais continu ton raisonnement Azt, si cela se trouve tu as trouver la solution à mon probléme...

  7. A voir en vidéo sur Futura
  8. #6
    azt

    Re : Transfert Automatique de cellules Excel vers Excel

    Une solution pourrait être une macro comme celle-ci que tu places dans un classeur à part.

    - Ouvres un nouveau classeur
    - tapes alt + F11, la fenêtre de création des macros s'ouvre.
    - Sur la droite tu obtiens un écran nommé 'VBA Project' avec une arborescence.
    - Cliques droit sur "microsoft excel Projet" puis sélectionnes Insertion / Module
    - Copies le code suivant dans la page qui s'ouvre à droite.
    Code:
    Sub CopierDonnees()
    
    Dim Entree As Workbook, Sortie As Workbook
    
    Nomfichierentree = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
    ' On verifie que l'on a selectionné un nom de classeur
    If Nomfichierentree <> False Then
        ' On ouvre le classeur
        Set Entree = Workbooks.Open(Nomfichierentree)
    
        
        NomFichierSortie = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
        If NomFichierSortie <> False Then
            Set Sortie = Workbooks.Open(NomFichierSortie)
            
            '  Ici tu mets les copies des cellules de la feuille d'entrée vers la feuille de sortie
            Sortie.Worksheets("Feuil1").Cells(2, 2) = Entree.Worksheets("Feuil1").Cells(1, 1)
            Sortie.Worksheets("Feuil1").Cells(2, 1) = Entree.Worksheets("Feuil1").Cells(2, 1)
            '   C'est là que ton boulot commence ;-)
            '   etc
            '   .
            '   .
            '   .
        
            ' On ferme le classeur
            Sortie.Close
        
        
        End If
        ' On ferme le second
        Entree.Close
    End If
    
    
    End Sub
    - Sauvegardes la macro puis le classeur.

    - Maintenant, vas sous Outils/Macros/Sécurité, il faut sélectionner 'niveau de sécurité moyen'. Valides et refermes tout. Même excel.

    - Réouvres ton nouveau fichier Excel. Une boite te demande si tu veux activer les macros, réponds par l'affirmative.

    - Il reste à lancer la macro : Vas sous Outils/Macros/Macros et sélectionnes la macro que tu viens de créer CopierDonnees.


    Maintenant quelques explications sur ce je viens de coder : le programme ouvre successivement deux fenêtres te demandant un fichier Excel. Le premier devra être le fichier d'entrée, le seconde le fichier de sortie (un fichier vide pour l'instant, on affinera la macro si tu utilises un modèle.
    Du premier classeur , je recopie la cellule (1,1) de la première feuille vers sur le second classeur la cellule (2,2) de la première feuille.

    Si je ne suis pas suffisamment clair, dis-le

    AZT
    Fichiers attachés Fichiers attachés
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  9. #7
    Philder

    Re : Transfert Automatique de cellules Excel vers Excel

    Une solution pour automatiser un peu c'est de faire un copier coller de ton fichier de depart vers ton fichier toto, et ensuite d'utiliser l'enregistreur de macro integre pour enregistrer tes manips de transformation (dans le document final)

  10. Publicité
  11. #8
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour Philder,

    je ne comprend pas bien lorsque tu dit:
    "faire un copier coller de ton fichier de depart vers ton fichier toto", pourrais tu préciser...

    Merci

  12. #9
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour Azt,

    Je te remercie beaucoup pour ton aide rapide et efficace, seulement, il reste un probléme à résoudre lorsque j'entreprend ta manipulation un message d'erreur apparait, j'ai fait une copie d'écran que j'ai placé en piéce jionte et que tu pourra lire, avec trois choix/

    Fin, Annuler ou débogage, et lorsque je prend dédogage, il me surligne en jaune une ligne dans l'éditeur VBA mais je ne comprend pas trop pourquoi, j'ai aussi fait une copie d'écran de la ligne ou le problème persiste.

    Tu touche au but Azt, merci beaucoup de ton aide...

    PS: Je voudrais aussi juste savoir quelle touche et quel caractére tu tape pour mettre les lignes de code en commentaire, car moi je n'ais pas réussi.

    Merci Azt...
    Fichiers attachés Fichiers attachés

  13. #10
    Ciscoo

    Smile Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour

    je ne sais pas si c'est que tu veux, mais voilà une autre possibilité, imparfaite malheureusement.

    Dans le fichier dédé, en B1, tu écris le nom de ton fichier source, toto, dans ton cas. Automatiquement, aux endroits que tu as choisi dans dédé, apparaissent les valeurs "piochées" dans ce fichier source toto.

    La syntaxe de la fonction INDEX est (tableau, n° ligne dans ce tableau, n° colonne dans ce tableau).

    La fonction Indirect permet de lire le contenue d'une cellule, concatener avec d'autre terme. Ici, elle permet de repérer le tableau dans le ficihier toto.

    A chaque fois que tu reçois un nouveau fichier, toto2 par ex, tu ouvres le fichier dédé, en B1, tu écris toto2, puis sauves dédé sous un autre nom.

    Deux défauts à ce système :
    *il faut que le fichier source soit ouvert pour que cela fonctionne.
    *les valeurs transférées sont "volatiles". Si tu veux les garder, il faut faire un copier-collage spécial valeur de toute la feuille pour ne pas les perdre. Au passage, malheureusement, tu perds les formules. Est-ce gênant pour toi ?

    Peut être que d'autres forumeurs pourront modifier ce fichier pour en améliorer l'ensemble.

    Si le travail d'Azt ni mes fichiers ne te conviennent totalement, fais donc un tour sur Excel Download. Il y a là des forumeurs très compétents sur Excel ou en VBA.

    Bonne chance.
    Fichiers attachés Fichiers attachés
    Cisco66

  14. #11
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour Ciscoo,

    Je viens de tester ta solution, elle est sympa effectivement mais comme tu l'as dit, elle comporte quelques failles. Pour le moment la solution de Azt convient un peut plus à mon problème mais je ne connaissiat pas du tout ta facon de faire et je la trouve intérressante.
    Un seul point me géne, je ne comprend pas ta définitoin de la fonction INDEX, pourrait tu me la détailler un peu plus en profondeur sil te plait, car je ne connais pas du tout ces syntaxes et je n'arrive pas a faire coller ta définition de la fonction avec la formule "=INDEX(INDIRECT("["&$B$1&".xls]Feuil1!$A$1:$G$19");1;1)".

    Merci Ciscoo.

  15. #12
    Ciscoo

    Smile Re : Transfert Automatique de cellules Excel vers Excel

    Rebonjour,

    d'une manière générale, la fonction index permet d'aller lire dans un tableau (1er argument), le contenu d'une cellule placée à la ligne donnée en 2nd argument et à la colonne donnée en 3ème argument.

    Exemple :
    =INDEX(B8:E40;3;6) va donner le contenu de la cellule G10.

    Dans le fichier dédé envoyé en pièce jointe, c'est un peu compliqué, parceque je voulais que tu puisses changer le nom du tableau sans avoir à rentrer dans la formule. Il faut donc que ce travail se fasse automatiquement, ce qui est possible en utilisant la fonction Indirect. Celle-ci retourne la référence spécifiée par une chaine de caractère. De plus, dans le fichier dédé, j'ai obtenu le nom du tableau en concatenant plusieurs termes :
    "[" pour encadrer le nom du fichier
    &$B$1& pour aller lire le nom de ton fichier source
    ".xls] pour spécifier l'extension
    Feuil1!$A$1:$G$19" pour situer précisément la partie du fichier à lire.

    Grace aux ", excel comprend qu'il s'agit de texte.
    On peut concatener, soit avec la fonction concatener, soit avec le symbole &, comme je l'ai fait dans cet exemple.

    En fait, la formule que j'ai utilisée est compliquée uniquement parceque je voulais que tu puisses changer le nom du fichier source. Autrement, on aurait pu écrire :=INDEX([toto.xls]Feuil1!$A$1:$G$19;1;1) ou même donner un nom à ce tableau et écrire =INDEX([toto.xls]tableau;1;1) (à vérifier).

    Bonne soirée.
    Cisco66

  16. #13
    azt

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour,

    Je vais détailler un petit peu le 'pointage' vers une cellule :
    Code:
    Sortie.Worksheets("Feuil1").Cells(2, 2)
    Sortie Entree correspondent au fichier Excel choisi (Créé avec le code au dessus)
    Ensuite on ajoute un 'accesseur' (je ne suis pas sûr du mot) qui permet d'atteindre un élément de l'objet.
    Worksheets("Feuil1") permet d'atteindre la feuille nommée Feuil1.
    Cells(2,2) pointe ensuite sur la cellule de la feuille sélectionnée

    Le problème vient du fait que tu n'as pas la même version d'Excel que moi, il faut donc remplacer Feuil1 par Sheet1

    A plus
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  17. #14
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Rebonjour Ciscoo,

    Merci pour tes petites explications, c'était juste pour ma culture générale, tu m'en as dit bien plus que je ne l'éspérais...

    Merci de ta patience pour un pauvre débutant en Excel lol...

  18. #15
    azt

    Re : Transfert Automatique de cellules Excel vers Excel

    J'oubliais, pour mettre en commentaire en Visual Basic il faut utiliser l'apostrophe
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  19. #16
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour Azt,

    Nikel tout fonctionne, j'aurais encore une toute petite dernière question très bête, je pense que tu doit sûrement avoir la réponse:

    Pour modifier ton fichier deadog182.xls que tu as créer je voudrais dans les fonctions "Cells()" remplacer les numéro par les valeur des cellules, je m'explique plus en détail, quand je navigue sur Excel lorsque je pointe sur une cellule j'ai la coordonnée qui s'affiche sous le format J15 par exemple et non pas sous le format (10, 15).

    Y'aurais-t-il un moyen dans ton code de remplacer les chiffres par les lettres?

    J'ai essayé de les remplacer directement mais cela n'a pas fonctionné, je pense qu'il doit me manquer quelque chose.

    Merci.

  20. #17
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Ps pour Azt,

    J'avais essayer l'apostrophe cela ne fonctionnait pas j'avais juste pas fait entrée au bout de la ligne de code pour mettre la ligne en commentaire.

    Merci

  21. #18
    azt

    Re : Transfert Automatique de cellules Excel vers Excel

    bien sûr, j'aurais dû y penser, avec l'habitude, je n'utilises que cells
    Code:
    Sortie.Worksheets("Feuil1").Range("A1") = Entree.Worksheets("Feuil1").Range("A1")
    Dernière modification par azt ; 27/03/2007 à 19h32. Motif: Utilisation de la balise code pour ne pas casser la ligne
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  22. #19
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Rebonjour Azt,

    Merci bien pour cette dernière petite astuce, qui va bien me servir.

    Je remercie tout ceux qui m’ont donné tout les petits et gros conseils et coups de main, je vais pouvoir m’en sortir et économiser des heures précieuses.

    Encore merci à tous…

  23. #20
    deadog182

    Re : Transfert Automatique de cellules Excel vers Excel

    Merci beaucoup Azt,

    Je viens d'essayer et c'est nikel tout fonctionne parfaitement, je tiens à remercier tout ceux qui m'ont aidé et ont essayer continuer d'aider les gens c'est cool et ca dépanne pas mal.

    Encore merci et peut être à bientot sur un autre problème.

    Deadog182

  24. #21
    yoyo3838

    Re : Transfert Automatique de cellules Excel vers Excel

    Azt,
    Salut,
    j'ai le meme probleme probleme que deadog.
    erreur sur la ligne 9 "out of range"
    J'ai recopie la macro de azt, en remplacant feuil par sheet et j'ai toujours le meme message d'erreur que deadogs.
    jutilise excel 2003 sp2 en irlande.
    voir en pj message d'erreur

    Azt, pourrai-tu m'eclairer, c'est urgent et ca me ferait gagner un temps fou.
    Merci
    Images attachées Images attachées

  25. #22
    yoyo3838

    Re : Transfert Automatique de cellules Excel vers Excel

    Re,
    Azt,
    je viens de trouver le probleme.
    En fait dans mon fichier xls ou je veux piocher les donnees, il y a une seule feuille mais elle porte un nom different de "sheet1" ( c'est un numero de serie de produits en fait, independant du nom du fichier) qui varie donc pour chaque fichier.
    Est-il possible de contourner ce probleme ?

    Merci beaucoup

  26. #23
    azt

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonsoir,
    on peut remplacer le nom de la feuille par son numéro d'apparition :
    worksheets(1)
    Avec cette méthode, si tu n'as qu'une feuille pas de problème pour sélectionner la feuille, en revanche si tu en as plusieurs la sélection va dépendre de l'ordre des feuilles (Si tu les déplaces ou insères une page cela ne marche plus )

    AZT
    Nous sommes toujours de la taille de l'univers que nous découvrons. [Frédérick Tristan]

  27. #24
    CROUSSET

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonsoir,

    Voici mon problème :
    en gros j'ai ont un gros tableau avec tout plein de données. Elles sont numérotées par mois (1,2...12).. Je voudraient pouvoir taper le numéro du mois dans une cellule intitulée "mois" et que cela s'affiche dans une autre feuille ou un autre fichier pour pouvoir l'isoler rapidement ...

    J'ai observé des éléments de réponse dans les messages précédents mais je ne comprends pas grand chose aux macros..
    Pourriez-vous m'aider ?

    Merci d'avance !!

  28. #25
    Stelle

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour,

    Je me permet de remonter ce post car j'ai un soucis d'import de données Excel vers Excel ... et j'espère qu'un de vous pourra m'aider.
    Voilà mon soucis, j'ai un fichier excel "Suivi d'affaire" dans lequel il faut que j'importe des données que je requête tous les jours dans un outil de ma boîte dont l'export est sous excel. Jusque là j'ai réussi à faire quelque chose de pas mal même si ça recopie toutes les données au lieu de mettre à jour ...
    mais en faite dans mon fichier de travail, j'aimerais garder les formules les MFC la mise en page ... et là problème pour moi

    Je joins les fichiers si quelqu'un a une petite idée ... Je vous remercie d'avance

  29. #26
    Pinot66

    Re : Transfert Automatique de cellules Excel vers Excel

    Bonjour,

    J'ai le même soucis. Je comprend la première macro qui a été posté. Pour mon cas privé, les cellules a copier sont organisées dans un tableau avec des noms de champs en colonne. J'aimerais que chaque ligne corresponde à une sortie vers un autre classeur dont la mise en page m'est imposé par un client. Sachant que toutes les cellules de la mise en page du client se retrouve pour chaque champs de mon tableau de saisie.

    Donc que faudrait-il rajouter pour que la macro initiale passe d'une ligne à l'autre jusqu'à ce qu'il n'y ait plus de données et que chaque ligne génère une sortie xls avec une mise en page imposé?

    Je ne sais pas si je suis claire. Je ne suis pas une pro de VBA, de macro.

    Si quelqu'un possède une réponse ou peu m'aider je ne demande que ça.

    Cordialement

Discussions similaires

  1. [Biologie Cellulaire] La testostérone des cellules de Leydig vers les cellules de Sertoli
    Par Jadéite dans le forum Biologie
    Réponses: 5
    Dernier message: 28/11/2007, 15h41
  2. Problème conversion fichiers excel PC vers excel MAC
    Par Pallmall37 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 14/11/2007, 21h31
  3. Excel
    Par kuznik dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 10/04/2007, 19h57
  4. Publipostage en vba de excel vers word
    Par knecmotet dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 21/07/2004, 09h45