Lire les informations d’un classeur fermé à l’aide VBA dans Microsoft Excel
Dans Microsoft Excel, obtenir des informations à partir d’un classeur fermé est l’un des moyens les plus rapides d’obtenir des données précises à l’aide du code VBA. Dans cet article, nous allons apprendre à lire les informations d’un classeur fermé à l’aide de VBA dans Microsoft Excel.
Si vous recevez plusieurs fichiers par e-mail ou toute autre source et que vous souhaitez obtenir des informations stockées dans une cellule particulière, vous devriez lire ce didacticiel.
Pour comprendre cet exemple, nous devons créer des exemples de fichiers dans un chemin que nous utiliserons dans le code VBA; ici, nous avons sauvegardé quelques fichiers (fichiers Nord et Ouest) dans le chemin «D: \ testing».
Pour extraire les données de tous les fichiers Excel dans un dossier, nous devons suivre les étapes ci-dessous pour lancer l’éditeur VB:
Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic
-
Copiez le code ci-dessous dans le module standard
Sub ReadDataFromAllWorkbooksInFolder() Dim FolderName As String, wbName As String, r As Long, cValue As Variant Dim wbList() As String, wbCount As Integer, i As Integer FolderName = "D:\testing" ' create list of workbooks in foldername' --- Comment wbCount = 0 wbName = Dir(FolderName & "\" & "*.xls") While wbName <> "" wbCount = wbCount + 1 ReDim Preserve wbList(1 To wbCount) wbList(wbCount) = wbName wbName = Dir Wend If wbCount = 0 Then Exit Sub ' get values from each workbook' --- Comment r = 0 Workbooks.Add For i = 1 To wbCount r = r + 1 cValue = GetInfoFromClosedFile(FolderName, wbList(i), "Sheet1", "A1") Cells(r, 1).Formula = wbList(i) Cells(r, 2).Formula = cValue Next i End Sub Private Function GetInfoFromClosedFile(ByVal wbPath As String, _ wbName As String, wsName As String, cellRef As String) As Variant Dim arg As String GetInfoFromClosedFile = "" If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\" If Dir(wbPath & "\" & wbName) = "" Then Exit Function arg = "'" & wbPath & "[" & wbName & "]" & _ wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1) On Error Resume Next GetInfoFromClosedFile = ExecuteExcel4Macro(arg) End Function
Nous devons exécuter la macro et ce qui suit sera l’instantané du résultat:
===
Conclusion: En utilisant le code ci-dessus, nous pouvons obtenir des données d’un classeur fermé à partir d’une cellule spécifique.
Remarque: la cellule A1 est utilisée comme exemple; si vous souhaitez récupérer des données à partir d’une autre cellule, il vous suffit de mentionner cette cellule.
Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Et vous pouvez aussi nous suivre sur Twitter et Facebook.
Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]