Dans cet article, nous allons créer une procédure pour récupérer les données du classeur fermé vers le classeur actif à l’aide du code VBA.

Les données brutes que nous voulons récupérer sont présentes dans la plage A13: E22 sur la feuille « Sheet1 » dans le fichier « DataFile.xlsx » qui est placé dans le chemin « C: \ Users \ Ramandeep \ Desktop ».

dataFile

Explication logique

Nous avons créé deux procédures dans cet article: -. CallingMainProcedure. GetValuesFromAClosedWorkbook

Procédure CallingMainProcedure

Cette procédure est utilisée pour appeler la procédure «GetValuesFromAClosedWorkbook». Il affecte des valeurs au paramètre de la procédure « GetValuesFromAClosedWorkbook ».

Procédure GetValuesFromAClosedWorkbook

Cette procédure prend le chemin du fichier et le nom de fichier du classeur fermé comme paramètres. Il prend également le nom de la feuille et la plage du classeur fermé comme paramètre. En utilisant la valeur du paramètre d’entrée, une formule matricielle est entrée dans la plage A13: E22 de la feuille active comme \ {= ‘C: \ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1’! A13: E22} La formule matricielle apporte le données requises du classeur fermé. Une fois les données extraites dans la feuille active, les formules de la feuille sont supprimées en remplaçant les formules par la valeur.

ArrowAfterRunningMacro

Veuillez suivre ci-dessous pour le code

Option Explicit

Sub CallingMainProcedure()

'Calling GetValuesFromAClosedWorkbook procedure

'Specifying the file path, filename, sheet name and range of data

GetValuesFromAClosedWorkbook "C:\Users\Ramandeep\Desktop", "DataFile.xlsx", _

"Sheet1", "A13:E22"

End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _

fName As String, sName, cellRange As String)



With ActiveSheet.Range(cellRange)

'Assigning the array formula to the specified range

.FormulaArray = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange

'Removing formula from the cell and pasting the values in the cell

.Value = .Value

End With

End Sub

Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]