EXTRACtion

Bonjour, je viens vers vous pour un problème décrit ci-dessous.

J’ai deux fichiers ci-joint :

- Un fichier base nommé « J4-1J-031 » située dans \\Famille \J14\Dispo 1J\J4-1J-031.xlsx. Dans laquelle la macro recherchée ira récupérer les valeurs.

- Un fichier de travail B dans laquelle je vais entrer la macro recherchée.

Le but est de remplir la colonne « épaisseur » du fichier B par des données extrait du fichier « J4-1J-031 ».

Description de la procédure.

Lorsque je clique sur ma première cellule à remplir (ligne 6, colonne E) et que je lance la macro, elle va rechercher dans le chemin suivant : "\ Famille \" & les 2 premiers caractères du contenu de la cellule situé sur la même ligne de la cellule active et colonne A soit (J4-1J-031) & "\" & & contenu de la cellule situé sur la même ligne de la cellule active et colonne B soit (J4-1J-031) & "\" & contenu de la cellule situé sur la même ligne de la cellule active et colonne A soit (J4-1J-031) & & ".xlsx" soit( J4-1J-031.xls).

Une fois trouvé le fichier J4-1J-031.xls, l’ouvre et recherche la valeur située dans la colonne 2 de la cellule ayant le même contenu que la cellule située à la ligne 3 à la même colonne que la cellule active. Une fois trouvé elle l’affiche dans la celle active (normalement la valeur trouvée est : 4). Une fois fini, elle passe à la cellule ci-dessous et fait le même travail jusqu’à remplir toute la colonne E.

Ci-dessous j’ai un code, mais je suis bloqué à ce niveau : « recherche la valeur située dans la colonne 2 de la cellule ayant le même contenu que la cellule située à la ligne 3 de la même colonne que la cellule active. Une fois trouvé l’affiche dans la celle active et passe à la cellule ci-dessous. »

La rechercheV marche mais je ne sais pas comment l’intégrer dans mon programme. J’ai essayé la formule WorksheetFunction.VLookup mais sans succès.

J’espère avoir été explicite et aimerai trouver une solution.

Merci.

Sub extration()

Dim CD As Workbook

Dim CA As String

Dim CS As Workbook

Dim NbOnglet As Integer

Dim ii As Integer

Dim jj As Integer

Dim dd As Integer

Dim NomFic As String

Dim Onglet As String

Dim valeut As Single

Dim Dispo As String

Dim Resultat As String

Diposi = Cells(ActiveCell.Row, 2)

Dispo = Diposi & Cells(ActiveCell.Row, 3)

donnee = Cells(3, ActiveCell.Column)

UpdateLinks = 0

jj = 6

dd = 6

Do While Cells(jj, 1) <> ""

NomFic = Cells(jj, 1)

Application.AskToUpdateLinks = False

Set CD = ThisWorkbook

CA = CD.Path & "\Famille\" & Left$(NomFic, 3) & "\" & Trim$(Dispo) & "\" & NomFic & ".xlsx"

Set CS = Application.Workbooks.Open(CA)

NbOnglet = CS.Worksheets.Count

For ii = 1 To NbOnglet

If CS.Worksheets(ii).Name = NomFic Then

CS.Worksheets(ii).Activate

Exit For

End If

Next ii

Resultat = RECHERCHEV(E2;'\\Famille \J14\Dispo 1J\[J4-1J-031.xlsx]J4-1J-031'!$A$7:$N$16;2;FAUX)

valeur = CS.Worksheets(ii).Range("Resultat")

CS.Close (False)

Set CD = ThisWorkbook

CD.Activate

Cells(jj, ActiveCell.Column) = valeur

jj = jj + 1

Loop

MsgBox " Extraction des prix terminée"

End Sub

5b.xlsx (10.35 Ko)
4j4-1j-031.xlsx (15.68 Ko)

bonjour

la mise en "relation" de tables de données se fait avec des RECHERCHEV

joins 1 fichier exemple de 2 feuilles de 3 colonnes et 5 lignes et le résultat recherché

amitiés

Rechercher des sujets similaires à "extraction"