Problème pour récupérer des données dans 1 fichier excel fermé
max9292
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis sous Excel 2016 et j'ai un problème pour récupérer les données à partir d'un fichier excel fermé.
En effet, j'ai un fichier source DDdj3Iojvex_source.xls dans lequel je souhaite extraire une plage de données pour les recopier dans un autre fichier. Celui-ci contient un bouton avec la macro suivante (que j'ai repris de ce site) :
Sub ImporterDonneesSansOuvrir()
Dim Chemin As String, Fichier As String
Chemin = "C:\Users\HDDinner\Documents"
Fichier = "DDdj3Iojvex_source.xls"
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Feuil1'!$A$1:$F$10"
With Sheets("Feuil1")
.[A1:F10] = "=plage"
.[A1:F10].Copy
Sheets("Feuil1").Range("A1").PasteSpecial xlPasteValues
.[A1:F10].Clear
End With
End Sub
J'ai un souci avec cette partie du code -> ThisWorkbook.Names.Add "plage"
Pouvez-vous m'indiquer à quoi cela correspond?
Merci par avance pour votre aide
Je suis sous Excel 2016 et j'ai un problème pour récupérer les données à partir d'un fichier excel fermé.
En effet, j'ai un fichier source DDdj3Iojvex_source.xls dans lequel je souhaite extraire une plage de données pour les recopier dans un autre fichier. Celui-ci contient un bouton avec la macro suivante (que j'ai repris de ce site) :
Sub ImporterDonneesSansOuvrir()
Dim Chemin As String, Fichier As String
Chemin = "C:\Users\HDDinner\Documents"
Fichier = "DDdj3Iojvex_source.xls"
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Feuil1'!$A$1:$F$10"
With Sheets("Feuil1")
.[A1:F10] = "=plage"
.[A1:F10].Copy
Sheets("Feuil1").Range("A1").PasteSpecial xlPasteValues
.[A1:F10].Clear
End With
End Sub
J'ai un souci avec cette partie du code -> ThisWorkbook.Names.Add "plage"
Pouvez-vous m'indiquer à quoi cela correspond?
Merci par avance pour votre aide
Configuration: Windows / Firefox 65.0
A voir également:
- Problème pour récupérer des données dans 1 fichier excel fermé
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Trier des données excel - Guide
1 réponse
Bonjour,
Cette ligne crée une plage nommée, nommée plage.
C'est inutile et cela risque de générer une erreur si il existe déjà une plage nommée ainsi.
De façon générique, j'aurais écrit :
L'inconvénient de cette méthode est qu'il faut connaître le nom de la feuille source (dans l'exemple Feuil1)
Cette ligne crée une plage nommée, nommée plage.
C'est inutile et cela risque de générer une erreur si il existe déjà une plage nommée ainsi.
De façon générique, j'aurais écrit :
Sub ImporterDonneesSansOuvrir() Dim destination As Range Dim chemin$, fichier$, formule$, plage$ ' Définir la source chemin = "C:\Users\HDDinner\Documents" fichier = "DDdj3Iojvex_source.xls" plage = "$A$1:$F$10" ' Définir la destination (par exemple C4:H13 ) With Worksheets(1) Set destination = .Range("C4") With .Range(plage) Set destination = destination.Resize(.Rows.Count, .Columns.Count) End With End With ' Lire le fichier fermé formule = "='" & chemin & "\[" & fichier & "]Feuil1'!" & plage With destination .FormulaArray = formule .Value = .Value End With End Sub
L'inconvénient de cette méthode est qu'il faut connaître le nom de la feuille source (dans l'exemple Feuil1)