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érer dans une feuilles les enregistrements d'une autre


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 28
    Points
    28
    Par défaut Récupérer dans une feuilles les enregistrements d'une autre
    bonjour,
    ce n'est pas évident des fois d'inscrire clairement un titre au problème qu'on cherche à résoudre.
    J'ai un fichier excel (ou une feuille) qui contient près de 3000 enregistrements, mais initialement, il en avait le double.
    Pour réduire à 3000, j'ai dû supprimer des lignes d'enregistrements inutiles et passés date, mais j'ai trouvé plus tard un autre fichier qui contenait des infos importants à ajouter dans mon fichier réduit.
    Comment je peux faire correspondre ces enregistrements importants à mon fichier réduit?
    N.B.Chaque enregistrement (disposé sur une ligne, et sur plusieurs colonnes) possèdent un numéro unique, trié en croissant.
    exemple:
    fichier initial:

    #1
    #2
    #3
    #4
    #5
    #6
    #7
    #8
    #9
    #10

    mon fichier réduit:
    #2
    #3
    #6
    #8
    #10

    il faut que je fasse correspondre les enregistrements qui me manque à partir du gros fichier vers mon petit, ligne par ligne.
    merci beaucoup.
    J'espère que vous me comprenez.
    bonne fin de journée

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    réseaux électriques
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : réseaux électriques

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 27
    Points
    27
    Par défaut Réponse
    Bonjour

    Je te proopse une solution pour ton problème.
    J'ai crée 2 fichiers, les noms sont assez explicites.
    et ce code dans le "fichier réduit"

    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
     
    Option Explicit
     
    Sub RécupérationDonnées()
    Dim CellFR As Range, CellGF As Range
    Dim i As Integer
     
    'Workbooks("paulux67GrosFichier.xls").Sheets(1).Select
    For Each CellFR In Workbooks("paulux67FichierRéduit.xls").Sheets(1).Range("A2:A" & Workbooks("paulux67FichierRéduit.xls").Sheets(1).Range("A2").End(xlDown).Row)
        'CellFR représente chaque cellule de la colonne A dans le fichier réduit
        For Each CellGF In Workbooks("paulux67GrosFichier.xls").Sheets(1).Range("A2:A" & Workbooks("paulux67GrosFichier.xls").Sheets(1).Range("A2").End(xlDown).Row)
            'CellGF représente chaque cellule de la colonne A dans le Gros fichier
            If CellFR.Value = CellGF.Value Then
                'si même numéro entre les deux fichiers
                For i = 1 To 4 'i défini le nombre de données à récupérer ici 4 colonnes de données
                    'on reproduit les données du gros fichiers vers le gros
                    CellFR.Offset(0, i).Value = CellGF.Offset(0, i).Value
                Next i
                'ensuite on passe à la ligne suivant du fichier réduit, on arrête la recherche dans le gros fihier
                Exit For
            End If
        Next CellGF
    Next CellFR
     
    End Sub
    Ciao

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonjour,
    Une autre solution sans Vba, utilise une formule index (voir aide en ligne) ....

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2014, 11h50
  2. Récupérer les valeurs d'une feuille dans un formulaire
    Par abdelkarim_1987 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/08/2013, 20h14
  3. [WD16] Inserer dans une BDD les enregistrements d'une table
    Par elgeek dans le forum WinDev
    Réponses: 4
    Dernier message: 29/03/2011, 16h43
  4. Réponses: 4
    Dernier message: 08/11/2006, 08h56
  5. Réponses: 3
    Dernier message: 22/03/2006, 09h47

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