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 :

comparaison 1 fichier avec 1 feuille à 1 fichier avec 2 feuilles


Sujet :

Macros et VBA Excel

Mode arborescent

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 18
    Par défaut comparaison 1 fichier avec 1 feuille à 1 fichier avec 2 feuilles
    Bonjour à tous,

    je developpe une petite macro pour m'aider dans la comparaison de fichiers.

    -j'ai un premier fichier avec une feuille de tous les articles de mon client:
    -Fichier : "CHU.xls" dans la macro c'est la variable nom_classeur1
    -feuille : "AO0634026 accepté" dans la macro c'est la variable Feuille

    -j'ai un second fichier avec 2 feuilles :
    -Fichier : "Tous les articles supprimés.xls"
    -feuille 1 : "Art Supprimés"
    -feuille 2 : "Art Bloqués"



    Ma macro va comparer :

    -la feuille "AO0634026 accepté" du fichier "CHU.xls" à la feuille 1 : "Art Supprimés" du fichier "Tous les articles supprimés.xls"
    -la feuille "AO0634026 accepté" du fichier "CHU.xls" à la feuille 2 : "Art Bloqués" du fichier "Tous les articles supprimés.xls"

    si la macro trouve qu'un article du fichier "CHU.xls" est présent dans une des feuilles "Art Supprimés" ou "Art Bloqués", elle copie la ligne dans un fichier "produit CHU accepté-supprimé.xls"

    ma macro est défaillante, donc si quelqu'un peut me situer où se trouve le problème, je suis preneur, car je perds du temps, sur un truc con en plus j'en suis sûr!

    voilà mon Code :

    Merci de jeter un coup d'oeil si vous avez le temps

    Sofiane
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    Sub comparer_2_fichiers()
     
    Dim nom_classeur1 As String
    Dim Feuille As String
    Dim a, l, m, k, i, j, z As Integer
     
    nom_classeur1 = InputBox("tapez le nom du classeur ou se trouvent les appels d'offres")
     
    Feuille = InputBox("tapez le nom de la feuille a traiter")
     
    Workbooks.Add
    ActiveWorkbook.SaveAs "C:\Documents and Settings\JMDUPOUX\Bureau\produit CHU accepté-supprimé.xls"
     
    Workbooks(nom_classeur1 & ".xls").Worksheets(Feuille).Activate 'compte le nombre de ligne jusqu'a cellule vide
    l = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row    'pour le 1er fichier
     
     
    Workbooks("TOUS LES ARTICLES SUPPRIMES dernier.xls").Worksheets("Art Supprimés").Activate 'compte le nombre de ligne jusqu'a cellule vide
    m = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row    'pour le 2nd fichier et la 1ere feuille
     
     
    k = 1 ' variable ligne  pour le fichier produit CHU accepté-supprimé.xls
     
    For i = 2 To l Step 1 'boucle du 1er fichier "CHU.xls", pour comparer les articles de mon client
     
     
        For j = 2 To m Step 1 'boucle du 2er fichier "TOUS LES ARTICLES SUPPRIMES dernier.xls", pour trouver les articles si des articles de mon client sont supprimés ou bloqués
     
            If Workbooks(nom_classeur1 & ".xls").Worksheets("Feuille").Cells(i, 3) = Workbooks("TOUS LES ARTICLES SUPPRIMES dernier.xls").Worksheets("Art Supprimés").Cells(j, 1) Then
     
                Workbooks(nom_classeur1 & ".xls").Worksheets("Feuille").Row(i).Copy ' si article trouvé, la macro copie la ligne
                Workbooks("produit CHU accepté-supprimé.xls").Worksheets("Feuil1").Row(k).PasteSpecial ' et colle  la ligne dans la feuille 1 du fichier "produit CHU accepté-supprimé.xls"
     
                k = k + 1
     
            End If
     
     
            If j = m Then ' une fois que la macro est venue à bout du la feuille "Art Supprimés" du fichier "TOUS LES ARTICLES SUPPRIMES dernier.xls"
            ' elle s'attaque à la feuille "Art Bloqués" du fichier "TOUS LES ARTICLES SUPPRIMES dernier.xls"
     
                Workbooks("TOUS LES ARTICLES SUPPRIMES dernier.xls").Worksheets("Art Bloqués").Activate 'compte le nombre de ligne jusqu'a cellule vide
                z = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row    'pour le 2nd fichier et la 2nd feuille
     
                    For a = 2 To z Step 1
                       If Workbooks(nom_classeur1 & ".xls").Worksheets("Feuille").Cells(i, 3) = Workbooks("TOUS LES ARTICLES SUPPRIMES dernier.xls").Worksheets("Art Bloqués").Cells(a, 1) Then
     
                            Workbooks(nom_classeur1 & ".xls").Worksheets("Feuille").Row(i).Copy ' si article trouvé, la macro copie la ligne
                            Workbooks("produit CHU accepté-supprimé.xls").Worksheets("Feuille").Row(k).PasteSpecial ' et colle  la ligne dans la feuille 1 du fichier "produit CHU accepté-supprimé.xls"
     
                            k = k + 1
     
                        End If
                    Next a
     
     
            End If
     
        Next j
     
    Next i
     
     
    End Sub
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/04/2015, 14h24
  2. Réponses: 2
    Dernier message: 11/10/2009, 16h37
  3. Feuille de style avec Hover ne marchant pas avec IE
    Par ouioui2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 06/03/2006, 16h10
  4. [Fichier] Comment ecrire ds 1 fichier avec 1 chemin
    Par Radagast dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 05/04/2005, 14h01
  5. Réponses: 33
    Dernier message: 15/10/2004, 16h19

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