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
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