Macro Recherchev sur fichier fermé plus import macro

julien91080

XLDnaute Occasionnel
Bonjour à tous,

Je me permets de vous solliciter car je ne trouve pas de réponse à mon problème.

Chaque mois, je reçois une nouvelle extration (extraction.xlsm) et je dois comparer, par le biais de rechercheV, ce fichier avec un autre fichier qui est mon fichier de base. Ce fichier exctraction devient ainsi mon nouveau fichier de base. Et chaque mois, le procédé se répéte. Il faut préciser que la composition de ces deux fichiers est la même et que le fichier "extraction" peut avoir un nom différent.

Ma demande:

J'aimerai faire une macro qui, au lancement de celle-ci, m'affiche une inputbox me demandant le nom du fichier "extraction", colle tout le code dans ce fichier et fasse des Vlookup sur chaque onglet de "extraction" en cherchant dans le fichier de base.

Pour l'instant, je n'ai pas encore cherché le code pour "exporter" un macro vers un autre fichier. Voici mon code pour les vlookup:

Sub LASUITE2()
'
Dim X As String

X = Val(InputBox("Quel est le nom du fichier que vous recherchez?"))

Sheets("Error_NAME_PREFIX").Select
Range("F2").Select

ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-5],'[" & X & ".xlsm]Error_NAME_PREFIX'!R2C1:R735C6,5,FALSE)),"""",VLOOKUP(RC[-5],'[" & X & ".xlsm]Error_NAME_PREFIX'!R2C1:R734C6,5,FALSE))"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F1000"), Type:=xlFillDefault
Range("F2:F1000").Select

end sub


Ce code continue en faisant d'autres vlookup.

J'espère avoir été clair.

Un grand merci par avance pour votre aide.

Julien
 

julien91080

XLDnaute Occasionnel
Re : Macro Recherchev sur fichier fermé plus import macro

Rebonjour,

J'ai trouvé un code pour exporter un module d'un fichier source à un autre:


Sub RecopieModule()

Dim NewM As Object, NewCode As String
Dim Wb As Workbook ' Stockage du code du module "exporter" du classeur maitre
With ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
NewCode = .Lines(1, .CountOfLines)
End With

' Ajout d'un module au CLASSEUR ACTIF
Set Wb = Workbooks("Fichier de destination.xlsm")
Set NewM = ActiveWorkbook.VBProject.VBComponents.Add(1)
With ActiveWorkbook.VBProject.VBComponents(NewM.Name).CodeModule
' Le DeleteLines sert à éviter éviter d'avoir 2 fois Option Explicit
' si la déclaration explicite est cochée dans les préférences
'sans effet si l'option n'est pas cochée
.DeleteLines 1, .CountOfLines
.AddFromString NewCode

End With

End Sub


Il me reste plus qu'à trouver comment effectuer mes vlookup.
 

Discussions similaires

Réponses
2
Affichages
129