VBA - Import de données de fichiers Excel impossible

darkouf

XLDnaute Nouveau
Bonjour,

Je ne sais pas si quelqu'un ici aura un peu de temps pour m'aider ...mais je tente!

On m'a chargé de modifier le VBA d'un fichier excel déjà existant et comme mes connaissances ne sont pas illimitées sur le sujet, je rame ...

J'ai une fonction qui est censée importer des plages de données issues de tous les fichiers Excel du répertoire racine.
Or je n'ai pas d'erreur lorsque je la lance mais aucune donnée n'est importée... Après moultes essais et recherches, je n'arrive pas à trouver d'où vient le souci...

Voici le code:

Sub Import_fichier()


Application.ScreenUpdating = False
Application.DisplayAlerts = False


Dim nom_import
Dim zone_import
Dim nom_classeur As String
Dim numimpor As Integer
Dim lim_import As Integer
'numimpor = 1
lim_import = Sheets("Parametres").Range("E3").Value

nom_classeur = ActiveWorkbook.Name


'choix des fichiers import
'choix_import.Show
For numimpor = 1 To lim_import

Set nom_import = ThisWorkbook.Names("import" & numimpor).RefersToRange
Set zone_import = ThisWorkbook.Names("zone_import" & numimpor).RefersToRange

Application.Workbooks.Open Filename:=nom_import

nom_import = ActiveWorkbook.Name

' copie le contenu de Message
Worksheets("Compilation").Select


num_ligne = Application.WorksheetFunction.VLookup(zone_import, Worksheets("Compilation").Range("B11:S18"), 3, False)
' MODIF b2:s18

ligne = num_ligne

Worksheets("Compilation").Range("C" & ligne & ":S" & ligne).Select
Selection.Copy

Windows(nom_classeur).Activate
Worksheets("Compilation").Select
Range("C" & ligne & ":S" & ligne).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Windows(nom_import).Close
Next numimpor


Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Pour info, lim_import correspond au nombre de fichiers que l'on doit importer. S'il y en a 4, il faut avoir mis 4 dans la cellule E3.

J'ai mis en pièces jointes des exemples de fichiers avec les données à importer.
En gros, les données des 4 fichiers devraient être copiées dans un tableau semblable, ce qui donnerait le total.

Mais rien ne se copie ...

Si quelqu'un connaissait bien le VBA pourrait m'aider ou m'aiguiller, je lui en serai éternellement reconnaissant !!

Merci d'avance,
 

Pièces jointes

  • Actions MSL_Z1.xls
    123.5 KB · Affichages: 92
  • Actions MSL_Z2.xls
    125 KB · Affichages: 55
  • Actions MSL_Z3.xls
    125 KB · Affichages: 70
  • Actions MSL_Z4.xls
    125.5 KB · Affichages: 57

pedrag31

XLDnaute Occasionnel
Re : VBA - Import de données de fichiers Excel impossible

Bonjour Darkouf, le forum,

Bienvenue sur XLD!

Il faudrait tout d'abord que tu supprimes la ligne de code ci-dessous qui désactive les alertes Excel et que tu relances ta macro afin de voir s'il y a des erreurs d’exécution pendant que le code tourne.

VB:
Application.DisplayAlerts = False

Si erreur, le numéro d'erreur permettra de comprendre où est le problème.
Si pas d'erreur, alors il faudra rentrer dans chaque étape du code.

Bonne journée :)
 

darkouf

XLDnaute Nouveau
Re : VBA - Import de données de fichiers Excel impossible

Bon apparemment il bloque à cette ligne :

Set nom_import = ThisWorkbook.Names("import" & numimpor).RefersToRange

Est ce que vous auriez une idée à quoi cela pourrait correspondre ?
Sur quoi je devrais orienter les recherches?

Merci pour vos lumières ....
 

pedrag31

XLDnaute Occasionnel
Re : VBA - Import de données de fichiers Excel impossible

Bonjour Darkouf, bonjour le fil,

Alors, est-ce que tu as fait un nouveau test?
Quel est le numéro d'erreur que te renvoie VBA quand ça plante au niveau de "Set nom_import = ThisWorkbook.Names("import" & numimpor).RefersToRange"?

Comment sont organisés tous ces fichiers?
Ils sont dans le même répertoire racine que le fichier qui doit les consulter?

Je pense qu'il faudra surement modifier ta macro pour éviter les plantages:
1. D'abord lister l'ensemble des fichiers qui sont dans le répertoire racine
2. Vérifier que les fichiers que tu dois "interroger" existent bien
3. Faire la boucle d'import des plages de données avec les fichiers qui sont identifiés comme existants

Bonne journée :)
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA - Import de données de fichiers Excel impossible

Bonjour le fil, bonjour le forum,

Peut-être avec ces modifications, non testé...
au niveau des déclarations :
Code:
Dim nom_import As String
Dim zone_import As String
puis du code :
Code:
nom_import = Range("import" & numimpor).Value
zone_import = Range("zone_import" & numimpor).Value
 

Discussions similaires

Réponses
3
Affichages
580

Statistiques des forums

Discussions
312 216
Messages
2 086 342
Membres
103 192
dernier inscrit
Corpdacier