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

benzure Messages postés 11 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 1 février 2012 - 9 janv. 2009 à 15:53
LUSTRUCRU Messages postés 91 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 15 mars 2013 - 11 janv. 2009 à 17:19
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

benzure Messages postés 11 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 1 février 2012
9 janv. 2009 à 15:56
Est il possible de ne pas ouvrir le fichier source

ou sinon l'ouvrir puis le refermer ensuite
0
LUSTRUCRU Messages postés 91 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 15 mars 2013
11 janv. 2009 à 17:19
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
0