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,
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,