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 :

3 fichiers - 4 colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Par défaut 3 fichiers - 4 colonnes
    Hello tout le monde !

    Je vous contacte parce que ca fait plus d'une semaine que je me prends la tête pour quelque chose, que je pense, est très simple pour vous.

    Voila, c'est une question de fusionner 3 fichiers suivant 4 colonnes. Je m'explique :

    3 fichiers :
    - A.xls
    - B.xls
    - C.xls

    Dans chacun des 3 fichiers, j'ai 4 colonnes identiques :
    - Colonne A : Réf
    - Colonne B : Version
    - Colonne C : Série
    - Colonne D : Pièce

    En fait, je souhaiterai, en fonction des données présentes dans les 4 colonnes, fusionner les 3 fichiers

    Normalement y'a tellement de données qu'il est indispensable d'utiliser les 4 colonnes.

    J'avais pensé à utiliser un "RechercheV" mais je trouve ca un peu long. Donc je suis preneur pour une éventuelle macro

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Je proposerais une ouverture des 2 fichiers les plus courts à la main ou par macro, un copier-coller de chaque colonne de ces 2 fichiers à la suite des colonnes correspondantes dans le fichier restant.

    Une fois cela fait, une suppression de doublons exhaustive (avec peut-être plusieurs colonnes en critères) te donnera le résultat escompté.

    Pour la suppression des doublons avec plusieurs colonnes en critères (c'est-à-dire lorsqu'il peut y avoir 2 même valeurs dans la colonne A mais qu'il ne faut pas les supprimer par ce que dans la colonne B les valeurs sont différentes et ainsi de suite), j'ai ça que j'avais trouvé je ne sais plus où et un peu arrangé.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    Dim FL1 As Worksheet
    Dim Valeur As Variant, c As Range, Valeur2 As Variant, d As Range
    Dim NoLigne As Long, DerLig As Long, NoLigne2 As Long, DerLig2 As Long
        Set FL1 = Worksheets("TAFEUILLE")
        NoLigne = 1
        Do
            If Not Cells(NoLigne, 4) = "" Then //Colonne D
                Valeur = Cells(NoLigne, 4)
                Valeur2 = Cells(NoLigne, 3) // Colonne C
                Do
                    With FL1.Range("D" & NoLigne + 1, [D65536].End(xlUp))
                        DerLig = 0
                        Set c = .Find(Valeur, LookIn:=xlValues, LookAt:=xlWhole)
                        If Not c Is Nothing Then
                            If c.Row > NoLigne Then
     
                                With FL1.Range("C" & NoLigne + 1, [C65536].End(xlUp))
                                Set d = .Find(Valeur2, LookIn:=xlValues, LookAt:=xlWhole)
                                If Not d Is Nothing Then
     
                                    DerLig = c.Row
                                    c.EntireRow.Delete
     
                                End If
                                End With
                            End If
                        End If
                        Set c = Nothing
                    End With
                Loop While DerLig > NoLigne
            End If
            NoLigne = NoLigne + 1
        Loop While NoLigne < FL1.Range("D65536").End(xlUp).Row
    A adapter par contre.

    Par contre, ,si jamais tu as une colonne avec des valeurs qui ne peuvent pas être doublées, c'est la même chose en enlevant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With FL1.Range("C" & NoLigne + 1, [C65536].End(xlUp))
                                Set d = .Find(Valeur2, LookIn:=xlValues, LookAt:=xlWhole)
                                If Not d Is Nothing Then
    End If
                                End With
    Cette solution te convient-elle ?

    Cordialement,

    DeaD

Discussions similaires

  1. Créer deux listes à partir d'un fichier à plusieurs colonnes
    Par bourgui78 dans le forum Général Python
    Réponses: 4
    Dernier message: 05/11/2008, 12h00
  2. [WD12] Table fichier avec colonne non liée
    Par david77320 dans le forum WinDev
    Réponses: 1
    Dernier message: 17/10/2008, 12h09
  3. ouvrir un fichier avec colonne en focntion des séparateurs
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/07/2007, 11h14
  4. [shell script] parser un fichier en colonne
    Par Blo0d4x3 dans le forum Linux
    Réponses: 11
    Dernier message: 22/04/2007, 12h38
  5. Réponses: 32
    Dernier message: 11/03/2007, 12h25

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