Copier des colonnes à partir d'un fichier excel non ouvert

Signaler
Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
1 février 2012
-
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
15 mars 2013
-
Bonjour

Je cherche à partir d'un fichier Excel que je passe en variable, recopier des colonnes de ce dernier sans l'ouvrir

Comment dois je procéder

Merci

2 réponses

Messages postés
11
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
1 février 2012

Est il possible de ne pas ouvrir le fichier source

ou sinon l'ouvrir puis le refermer ensuite
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
15 mars 2013

Voila qui devrait t'aider un peu





   Private Sub CommandButton1_Click()


   Call TestGetValue
   End Sub
Private Function GetValue(Path, File, Sheet, Ref)
'Récupération d'une valeur dans un fichier fermé
Dim Arg As String
'Crée l'argument de la fonction XL4
Arg = "'" & Path & "[" & File & "]" & Sheet & "'!" & Range(Ref) _
.Range("A1").Address(, , xlR1C1) '
'Exécute la macro XLM
GetValue = ExecuteExcel4Macro(Arg) '<<<< ligne à rajouter ICI
End Function
Sub TestGetValue()
'Récupérer dans la feuille active 1000 lignes et 4 colonnes d'un fichier fermé
Dim P As String, f As String, S As String
Dim A As String
Dim C As Long, R As Long, I As Long
P = "C:\Mes Documents"
f = "MonFichier.xls"
S = "Feuil1"
'Vérifie l'existence du fichier, ajoute les séparateurs manquants
If (Right(P, 1) <> "") Then P = P & ""
If (Dir(P & f) <> "") Then
Range("A1").CurrentRegion.ClearContents
I = 0
Application.ScreenUpdating = False
For R = 1 To 2000
For C = 1 To 7
I = I + 1
Cells(R, C) = GetValue(P, f, S, Cells(R, C).Address)
Next C
Next R
Application.ScreenUpdating = True
End If
End Sub

Bonne journée