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 :

Récupération du contenu d'une cellule et insertion de ce contenu dans une autre cellule d'un autre fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Points : 49
    Points
    49
    Par défaut Récupération du contenu d'une cellule et insertion de ce contenu dans une autre cellule d'un autre fichier
    Bonjour,


    J'ai plusieurs fichiers execl , à chaque fois je suis obligé de faire du copier/ coller pour inserer les informations de chaque fichier dans mon Bilan.xls..

    Je veux faire un programme qui parcours tous les fichiers que j'ai et pour chaque fichiers il insere si besoin les informations de la cellule du fichier dans la bonne cellule corespondante de mon Bilan.xls

    je connait ACCEES mais pas Excel, j'ai pensé a une appli ACCESS, je fait donc importer a chaque fois mon fichiers excel dans ACCESS puis aller lire depuis cette table importé les info et les inserer dans le bon endroit dans mon Bilan (dans ma table ACCESS Bilan)..

    sauf que je pense avec excel ca ira plus vite vu que j'ai deja mon Bilan et mes fichiers donc en créant un Bouton "Mise à jour" dans mon Bilan qui permet d'importer (de recuperer) l'info depuis un fichier et les insère dans le bilan. comment je peux faire ca SVP??


    Merci d'avance

  2. #2
    Membre du Club Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 69
    Points
    69
    Par défaut
    Quels est le fichiers source pour ton information ??

    Car j'ai bien compris que tu veux envoyer tes infos vers Bilan.xls mais la source vient d'ou ? c'est le plus important

    Si tu fais une importation d'un fichier xls a un autre .

    fais comme sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub MAJ_QuandClic()
     
    Info = [Fichiersource.xls]Feuil1!$A$1 
     
    Range("A1").Value = Info
     
     
    End Sub
    Code à adapter évidemment

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    Oui c'est uen importation d'un fichier execl vers un autre (fin de plusieurs fichier vers a un autre):

    - je parcours mon répertoire qui contient mes fichiers sources
    - pour chaque fichier trouvé je fait l'import des données vers Bilan.xls

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info = [Fichiersource.xls]Feuil1!$A$1
    ---> $A$ tu evux dire le nom de la colonne (A)et le numero de la ligne (1)???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Value = Info
    --> j'insère le contenu récupéré dans la cellule A1??

    je pense que jusque là ca ira , par contre pour le parcours de mon répertoire pour trouver les fichiers données comment je peux le faire SVP??

    merci beaucoup

  4. #4
    Membre du Club Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Points : 69
    Points
    69
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub MAJ_QuandClic()
     
    Info = [Fichiersource.xls]Feuil1!$A$1 'Ajoute dans la variable "Info" la valeur qui est présente dans ton fichiersource, qui est dans la feuil1 a la cellule A1 (a adapter pour ton cas)
     
    Range("A1").Value = Info 'comme tu la dis, il ajoute la valeur "Info" dans la cellule A1, a adapter aussi
     
     
    End Sub
    Ensuite si c'est plusieurs données a importer, sais tu déja ou sont tes données ?? Est ce que ces données sont toujours situé dans la meme ou les meme cellule ??

    Explique toutes ta démarche

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    En fait le fichier source c'est un fichier excel que les clients remplissent et et envoient. On stocke chaque fichier reçu dans un répertoire (tj le même). Donc j'ai plusieurs fichiers excel sous le même format, les colonnes ont tj le même nom également mais le contenu diffère d'un client à un autre. L'idée est donc parcourir mon répertoire (qui contient X fichier excel) et pour chaqe fichier récupérer les info donc avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info = [Fichiersource.xls]Feuil1!$A$1
    mais fichiersource varie de fichiersource 1 à fichier source2.....

    Jusque là ça ira mais comment est-ce que je dois parcourir mon répertoire qui contient mes fichiers sources de 1 à n. Après je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (i=1) to n  ( pour chaque fichier source...)
    Info = [Fichiersource.xls]Feuil1!$A$1 
    Range("A1").Value = Info
    ...
    merci

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une proposition commentée
    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
    Private Sub CommandButton1_Click()
    Dim awbk As Workbook, wbk As Workbook
    Dim Chemin As String, Fichier As String
    Dim i As Long
     
    Application.ScreenUpdating = False
    Set awbk = ThisWorkbook
    Chemin = "C:\MonDossier\"                               'DOSSIER DES FICHIERS SOURCES A ADAPTER
    Fichier = Dir(Chemin & "*.xls")
     
    i = 2
    Do While Len(Fichier) > 0
        If Fichier <> awbk.Name Then                        'POUR EVITER DE SELECTIONNER LE FICHIER BILAN
            Set wbk = Workbooks.Open(Chemin & Fichier)
            'ON COPIE LA CELLULE C20 DE LA FEUIL1 DU FICHIER SOURCE VERS LA FEUILLE BILAN EN Ai
            awbk.Sheets("Bilan").Range("A" & i).Value = wbk.Sheets("Feuil1").Range("C20").Value 'A ADAPTER
            i = i + 1
            wbk.Close                                       'ON FERME LE FICHIER SOURCE
            Set wbk = Nothing
        End If
        Fichier = Dir()                                     'ON PASSE AU FICHIER SOURCE SUIVANT
    Loop
     
    Application.ScreenUpdating = True
    End Sub

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    merci beaucoup ca marche bien

    par contre j'ai uen auter question: j'ai une tableau croisé dynamique dans uen deuxieme feuille de ce bilan qui bien sur utilise les donnes de la feulle 1 du bilan. Ma responsable veut un truc qui automatise la mise à jour de son tableau croisé dynamique cad a chaque fois que lezs info du bilan change le tabelau crosié dynamique se met à jour...mais moi je pense avec Clic Droit de la souris et 'Actualiser les données" ca va suffir???

  8. #8
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Lance l'enregistreur de macro
    fais un refresh de ton TCD (bouton droit...)
    tu récupère la ligne de code

    Bien sûr, si ta plage de donnée est fixe, seules les données changent

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Lance l'enregistreur de macro
    comment lancer l'enregistreur de macro SVP je en connait aps grand chose en excel!!

  10. #10
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Outils>Macro> Nouvelle Macro
    tu fais tes manipulations
    tu arrête l'enregistrement
    dans ton éditeur vba, tu trouve la macro enregistrée

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Points : 49
    Points
    49
    Par défaut
    ok j'ai enfin compris
    merci beaucoup

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/06/2014, 15h14
  2. Réponses: 9
    Dernier message: 09/05/2013, 18h27
  3. Réponses: 3
    Dernier message: 05/02/2010, 04h45
  4. Réponses: 3
    Dernier message: 04/07/2008, 13h00
  5. Réponses: 3
    Dernier message: 30/04/2007, 13h22

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