Parcourir fichier + comparaison

Bonjour,

Je cherche une solution qui me permettrai de parcourir les cellule de plusieurs classeurs et de les comparer pour ressortir la cellule avec la plus petite valeur dans le but de la copier dans un dernier classeurs. Le but est concrètement de créer un fichier contant les meilleurs prix proposés.

J'ai plusieurs piste de réflexions et toutes aboutissent a ce problème.

Merci d'avance !

Bon, j'ai commencer a coder ceci sans trop de succès :

Sub rechercherMeilleurPrix()

    Dim Rep As String, Fichier As String
    Dim i As Integer
    Dim j As Integer
    i = 7
    j = 7

    Rep = "C:\Rep1\rep 2\"
    Fichier = Dir(Rep)

    Do While Fichier <> ""

    Fichier = Left(Fichier, InStr(Fichier, ".") - 1)

        Do While (Sheets("Prixmin").Cells(i, 10) <> "")

            Do While (Workbooks(Fichier).Sheets("Prixmin").Cells(j, 10) <> "")

                If (Sheets("Prixmin").Cells(j, 10) > Workbooks(Fichier).Sheets("Prix").Cells(j, 10)) Then

                    Sheets("Prixmin").Cells(j, 10) = Workbooks(Fichier).Sheets("prix").Cells(j, 10)

                End If

                j = j + 1

            Loop

            i = i + 1

        Loop

        Fichier = Dir

    Loop

End Sub

Fichier contient bien un nom de fichier correct.

Seulement, à la ligne

Do While (Workbooks(Fichier).Sheets("Prix").Cells(j, 10) <> "")

Il y a une erreur : l'indice n'appartient pas à la sélection.

Quelqu'un aurait une idée ?

J'ai fini par trouver tout seul, voici donc un exemple pour ceux que ça intéresse.

Ce programme permet de comparer une valeur d'une colonne dans un fichier "final" à une valeur situer dans d'autre fichier ce trouvant dans un répertoire.

Le fichier final a la même composition de colonnes et lignes mais pas forcément les même valeur qu'un fichier dans le rep.

Sub rechercherMeilleurPrix()

    Dim Rep As String, Fichier As String
    Dim i As Integer
    Dim wb As Workbook
    Dim a As Long
    Dim b As Long

    Rep = "C:\rep1\rep2\"
    Fichier = Dir(Rep)
    '========================================================================
    'CHECK DE CHAQUE FICHIER SITUE DANS "C:\rep1\rep2\"
    '========================================================================
    Do While Fichier <> ""

        i = 2 'première lignes que l'on veut traiter

        Set wb = Workbooks.Open(Rep + Fichier) 'Ouverture du fichier

        'Fichier = Left(Fichier, InStr(Fichier, ".") - 1) 'c'est pour enlever l’extension au nom du fichier mais ça fonctionne quand même

        Windows("Classeur1").Activate

        '====================================================================
        'COMPARAISON DE CHAQUE LIGNES DU FICHIER FINAL AVEC CEUX SITUES DANS NOTRE REP
        '=====================================================================
        Do While (Sheets("feuill1").Cells(i, 10) <> "") 'colonne ou l'on veut comparer la valeur

            a = Cells(i, 10).Value

            Windows(Fichier).Activate
            Sheets("feuill1").Select

            b = Cells(i, 10).Value

            If (a > b Or a = 0) Then
                If (b <> 0) Then

                    Windows("Classeur1").Activate
                    Sheets("feuill1").Select

                    Cells(i, 10).Value = b

                End If

            End If

            i = i + 1
            Windows("Classeur1").Activate

        Loop
        '========================================================================
    wb.Close
    Fichier = Dir

    Loop
    '=============================================================================

End Sub
Rechercher des sujets similaires à "parcourir fichier comparaison"