Bonjour à tous !

Je me permets de vous solliciter car je rencontre quelques difficultés en VBA.

Je vous expose mon problème ci dessous, j'ai essayé d'être le plus précis et simple possible (mais c'est pas facile )

Premièrement, j'ai créé un fichier que nous appellerons fichier de base avec des données dans la colonne A et des dates dans la ligne 4 (exemple ci dessous) :

.......................01-10-2015 02-10-2015 03-10-2015
Donnée 1
Donnée 2
Donnée 3
Donnée 4
...

J'ai créé un bouton Import, qui quand je clique dessus, me permet de choisir un fichier à ouvrir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xl*), *.xl*", Title:="Choix du fichier de comparaison")
Le fichier excel ouvert est contenu dans la variable "Fichier" (j'ai pas trouvé plus simple comme nom de variable ) Nous l'appellerons le fichier source.

Une fois le fichier selectionné et ouvert, il va me chercher la date correspondante à ce fichier (la date est rentrée en dur en celulle C2).
Je rentre cette date dans une variable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DateFich = Range("C2").Value
Je retourne sur mon fichier de base et je balaye la ligne 4 pour trouver la date correspondante à "DateFich".

C'est la que les problèmes commencent

Une fois la date repérée je souhaiterai effectué un rechercheV pour faire le lien avec mon fichier source et mes données de mon fichier de base (Donnée 1, Donnée 2 etc.).
Dans le fichier source, ces données sont contenu dans la colonne J, et je souhaiterai rappatrier les données de la colonne M.

Voici le détail de mon code :

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
Sub Import_Cliquer()
 
Dim Fichier As Variant
Dim Celulle As Range
Dim Celulle1 As Range
 
Fichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xl*), *.xl*", Title:="Choix du fichier de comparaison")
 
    If Fichier <> False Then
        Set Fich = Workbooks.Open(Fichier)
        DateFich = Range("C2").Value
        Workbooks("Classeur").Activate
         For Each Celulle In Range("F2:AJ2")
            If Celulle.Value = DateFich Then
                For Each Celulle1 In ActiveSheet.UsedRange.Columns(Celulle.Column).Cells
                    Celulle1.FormulaR1C1 = "=VLOOKUP(RC[-18],'[" & Fichier & "]Feuil0'!C10:C13,4,FALSE)"
                Next
            End If
         Next
    End If
 
End Sub
Deux problèmes se posent :
1 - Je ne trouve pas de solution pour me placer dans la ligne 5 directement pour commencer mes rechercheV.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
For Each Celulle1 In ActiveSheet.UsedRange.Columns(Celulle.Column).Cells
2 - La formule VLOOKUP ne marche tout simplement pas... Elle se déploit sur toute la colonne correspondante mais ne pointe pas sur le bon Fichier source, du coup je n'ai que des résultats #N/A. Je n'arrive donc pas à rentrer la variable Fichier dans ma formule..

J'espère avoir été compréhensible.

Je vous remercie par avance de votre aide et repondrai volontier à vos questions si vous souhaitez avoir plus d'informations.

Passez une bonne journée.
Cdt.
Batn4