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 :

Comparer et stocker des données sur plusieurs fichiers Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Par défaut Comparer et stocker des données sur plusieurs fichiers Excel
    Bonjour,

    Voila je suis actuellement bloqué sur un souci de comparaison dans le code VB.

    J'ai deux fichier xls avec chacun un tableau. Je dois alors predre la valeur de Fichier1(A1) et rechecher dans la colonne G du fichier2 afin de trouver la dernier occurrence présente.
    Une fois trouvé, je dois recopier la donnée du fichier2 colonne J.i dans le fichier1 colonne D.
    Et je dois faire ca jusqu'a la cellule A.i vide.

    Si quelqu'un avait une petite idée cela m'aiderai grandement

  2. #2
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour,

    Tu as plusieurs façons de le faire.
    La plus simple étant d'avoir les deux fichiers ouverts dans le programme (workbooks.open).

    Ensuite, tu as une double boucle :
    - La première parcourt ton fichier 1 ligne par ligne
    - La seconde (qui est dans la première), ira dans le fichier pour retrouver ton identifiant.

    L'écrire des informations se fait aisément par la suite si tu as réussi cette première partie, je pense.

    Cordialement,

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Par défaut
    Bonjour Gado,

    j'ai ouvert mes deux fichiers mais justement je bloque sur la gestion des boucle car je ne maitrise pas beaucoup le VB

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Par défaut
    crier un bouton à fichier 1 et met le code bas à la cette bouton:
    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
     
        Dim fich1 As Worksheet: Set fich1 = ThisWorkbook.Worksheets("Feuil1")
        path_2 = "C:\Users\DELL\Desktop\Nouveau Feuille Microsoft Office Excel - Copie.xlsm"
        rangA = fich1.Range("A1").Value
        Workbooks.Open path_2
        For Each sh In Workbooks("Nouveau Feuille Microsoft Office Excel - Copie.xlsm").Worksheets
            If UCase(Trim(sh.Name)) = "FEUIL1" Then
                For i = 1 To Sheets(sh.Name).Range("G65000").End(xlUp).Row
                    If Sheets(sh.Name).Range("G" & i).Value = rangA Then
                        insert_1 = Sheets(sh.Name).Range("J" & i).Value & "." & Sheets(sh.Name).Range("I" & i).Value
                        fich1.Range("D1").Value = insert_1
                        Exit For
                    End If
                Next i
            End If
        Next
        Workbooks.Close path_2, False
    bonne chance
    Med

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Par défaut
    Je te remerci pour les boucle. J'essai de le mettre en place mais pas gagné du tout pour le moment je n'ai pas réussi à le faire tourner :s

Discussions similaires

  1. [XL-2007] automatiser des données sur plusieurs feuilles Excel
    Par huscky dans le forum Excel
    Réponses: 8
    Dernier message: 29/08/2013, 20h17
  2. Réponses: 2
    Dernier message: 18/12/2010, 19h42
  3. [XL-2007] Importation des données sur plusieurs fichiers fermés
    Par starid dans le forum Excel
    Réponses: 8
    Dernier message: 18/07/2009, 17h54
  4. stocker des données dans un fichier excel
    Par vanesa dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 16/01/2009, 09h39
  5. recuperation des données sur un fichier excel
    Par ghyosmik dans le forum Excel
    Réponses: 2
    Dernier message: 19/09/2007, 11h26

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