Je d=E9sire savoir comment je peux extraire deux champs sur=20
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3=20
feuilles, exemple base de donn=E9es (info sur le client),=20
devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux=20
champs. Comment puis-je faire pour faciliter l'extraction=20
sans =EAtre oblig=E9 d'ouvrir les 103 fichiers.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des fichiers zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne() For i = 1 To 3 Range("A" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1") Range("B" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2") Next End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc
bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne()
For i = 1 To 3
Range("A" & i) = ExecuteExcel4Macro _
("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1")
Range("B" & i) = ExecuteExcel4Macro _
("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2")
Next
End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3
feuilles, exemple base de données (info sur le client),
devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux
champs. Comment puis-je faire pour faciliter l'extraction
sans être obligé d'ouvrir les 103 fichiers.
voici un exemple pour extraire les cellule A1 et B1 des fichiers zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne() For i = 1 To 3 Range("A" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1") Range("B" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2") Next End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc
Jean-Marc
Merci pour cette info, mais malheureusement mes fichiers comportent des N° comme nom et qui se suivent pas et je cherchais justement quelque chose qui pouvais m'éviter de saisir chaque nom fichier.
@plus Jean-Marc
-----Message d'origine----- bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne() For i = 1 To 3 Range("A" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1") Range("B" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2") Next End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction
sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc .
Merci pour cette info, mais malheureusement mes fichiers
comportent des N° comme nom et qui se suivent pas et je
cherchais justement quelque chose qui pouvais m'éviter de
saisir chaque nom fichier.
@plus Jean-Marc
-----Message d'origine-----
bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des
fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne()
For i = 1 To 3
Range("A" & i) = ExecuteExcel4Macro _
("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1")
Range("B" & i) = ExecuteExcel4Macro _
("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2")
Next
End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs
sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3
feuilles, exemple base de données (info sur le client),
devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux
champs. Comment puis-je faire pour faciliter
l'extraction
Merci pour cette info, mais malheureusement mes fichiers comportent des N° comme nom et qui se suivent pas et je cherchais justement quelque chose qui pouvais m'éviter de saisir chaque nom fichier.
@plus Jean-Marc
-----Message d'origine----- bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne() For i = 1 To 3 Range("A" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1") Range("B" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2") Next End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction
sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc .
Michel Gaboly
Bonsoir,
Regarde l'aide de FileFind (sur Mac), ou de FileSearch (sous Win) qui te permet de récupérer le nom des fichiers d'un répertoire (y compris ou non le contenu de ses sous- répertoires).
Ensuite une boucle te permettra de récupérer l'info voulue sans avoir à saisir chaque nom de fichier.
Merci pour cette info, mais malheureusement mes fichiers comportent des N° comme nom et qui se suivent pas et je cherchais justement quelque chose qui pouvais m'éviter de saisir chaque nom fichier.
@plus Jean-Marc
-----Message d'origine----- bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne() For i = 1 To 3 Range("A" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1") Range("B" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2") Next End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction
sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc .
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonsoir,
Regarde l'aide de FileFind (sur Mac), ou de FileSearch
(sous Win) qui te permet de récupérer le nom des fichiers
d'un répertoire (y compris ou non le contenu de ses sous-
répertoires).
Ensuite une boucle te permettra de récupérer l'info voulue
sans avoir à saisir chaque nom de fichier.
Merci pour cette info, mais malheureusement mes fichiers
comportent des N° comme nom et qui se suivent pas et je
cherchais justement quelque chose qui pouvais m'éviter de
saisir chaque nom fichier.
@plus Jean-Marc
-----Message d'origine-----
bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des
fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne()
For i = 1 To 3
Range("A" & i) = ExecuteExcel4Macro _
("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1")
Range("B" & i) = ExecuteExcel4Macro _
("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2")
Next
End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs
sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3
feuilles, exemple base de données (info sur le client),
devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux
champs. Comment puis-je faire pour faciliter
l'extraction
Regarde l'aide de FileFind (sur Mac), ou de FileSearch (sous Win) qui te permet de récupérer le nom des fichiers d'un répertoire (y compris ou non le contenu de ses sous- répertoires).
Ensuite une boucle te permettra de récupérer l'info voulue sans avoir à saisir chaque nom de fichier.
Merci pour cette info, mais malheureusement mes fichiers comportent des N° comme nom et qui se suivent pas et je cherchais justement quelque chose qui pouvais m'éviter de saisir chaque nom fichier.
@plus Jean-Marc
-----Message d'origine----- bonjour Jean-Marc,
voici un exemple pour extraire les cellule A1 et B1 des fichiers
zaza1.xls, zaza2.xls, zaza3.xls du répertoire c:zaza
Sub valeurExterne() For i = 1 To 3 Range("A" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C1") Range("B" & i) = ExecuteExcel4Macro _ ("'c:zaza[zaza" & i & ".xls]Feuil1'!R1C2") Next End Sub
isabelle
Bonjour
Je désire savoir comment je peux extraire deux champs sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction
sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc .
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Hervé
Salut Jean Marc, Teste ceci mais d'abord, adapte. Exécute la proc "RecupValeurs" :
Private Sub ConnectCLasseur(ConnectCL As Object, _ Fichier As String, _ Optional Rs)
Set ConnectCL = CreateObject("ADODB.Connection") If Not IsMissing(Rs) Then Set Rs = CreateObject("ADODB.Recordset") End If
ConnectCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Fichier & ";" & _ "Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;""" End Sub
Sub RecupValeurs() Dim ConnectCL As Object Dim Rs As Object Dim Chemin As String Dim Classeur As String Dim NomFeuille As String Dim Plage As String Dim TblClasseur() As String Dim TblValeur() Dim I As Integer Dim J As Integer
'chemin où vont être récupérés les 'classeurs Chemin = "D:" 'retourne un tableau contenant tous 'les classeurs du dossier TblClasseur = Fichiers(Chemin, J)
'si aucun classeur dans le dossier, fin 'J est passé en Ref. et sa valeur est ensuite testée If J = 0 Then MsgBox "Ancun classeur ne se trouve dans ce dossier !" Exit Sub End If
'feuille ou s'effectuera la récup, à adapter NomFeuille = "Feuil1" 'plage ou s'effectuera la récup, à adapter 'pour une cellule, écrire de la façon 'suivante : "A1:A1" Plage = "A1:B1"
For I = 1 To UBound(TblClasseur) 'chemin du classeur cible Classeur = TblClasseur(I) 'connecxion ConnectCLasseur ConnectCL, Classeur, Rs ReDim Preserve TblValeur(1 To 2, 1 To I) With Rs .CursorType = 1 .LockType = 3 .Open "SELECT * FROM `" & NomFeuille & "$" & _ Plage & "` ", ConnectCL TblValeur(1, I) = .Fields(0).Value TblValeur(2, I) = .Fields(1).Value End With
ConnectCL.Close Next I 'récupération des valeurs stockées dans le tableau For I = 1 To UBound(TblValeur, 2) Debug.Print TblValeur(1, I) & " " & TblValeur(2, I) Next I
Erase TblClasseur Erase TblValeur Set Rs = Nothing Set ConnectCL = Nothing End Sub
Private Function Fichiers(Dossier As String, _ J As Integer) As String() Dim TableauFichiers() As String 'J est passé en Ref. et si il est incrémenté, 'le dossier contient bien des classeurs 'sinon, le dossier est vide de classeurs With Application.FileSearch .NewSearch .FileType = msoFileTypeExcelWorkbooks .LookIn = Dossier If .Execute > 0 Then For J = 1 To .FoundFiles.Count ReDim Preserve TableauFichiers(1 To J) TableauFichiers(J) = .FoundFiles(J) Next J End If End With Fichiers = TableauFichiers() End Function
Hervé.
"Jean-Marc" a écrit dans le message news: 6ba401c48393$330abf30$ Bonjour
Je désire savoir comment je peux extraire deux champs sur plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction sans être obligé d'ouvrir les 103 fichiers.
Merci pour votre aide
Jean-Marc
Salut Jean Marc,
Teste ceci mais d'abord, adapte. Exécute la proc "RecupValeurs" :
Private Sub ConnectCLasseur(ConnectCL As Object, _
Fichier As String, _
Optional Rs)
Set ConnectCL = CreateObject("ADODB.Connection")
If Not IsMissing(Rs) Then
Set Rs = CreateObject("ADODB.Recordset")
End If
ConnectCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;"""
End Sub
Sub RecupValeurs()
Dim ConnectCL As Object
Dim Rs As Object
Dim Chemin As String
Dim Classeur As String
Dim NomFeuille As String
Dim Plage As String
Dim TblClasseur() As String
Dim TblValeur()
Dim I As Integer
Dim J As Integer
'chemin où vont être récupérés les
'classeurs
Chemin = "D:"
'retourne un tableau contenant tous
'les classeurs du dossier
TblClasseur = Fichiers(Chemin, J)
'si aucun classeur dans le dossier, fin
'J est passé en Ref. et sa valeur est ensuite testée
If J = 0 Then
MsgBox "Ancun classeur ne se trouve dans ce dossier !"
Exit Sub
End If
'feuille ou s'effectuera la récup, à adapter
NomFeuille = "Feuil1"
'plage ou s'effectuera la récup, à adapter
'pour une cellule, écrire de la façon
'suivante : "A1:A1"
Plage = "A1:B1"
For I = 1 To UBound(TblClasseur)
'chemin du classeur cible
Classeur = TblClasseur(I)
'connecxion
ConnectCLasseur ConnectCL, Classeur, Rs
ReDim Preserve TblValeur(1 To 2, 1 To I)
With Rs
.CursorType = 1
.LockType = 3
.Open "SELECT * FROM `" & NomFeuille & "$" & _
Plage & "` ", ConnectCL
TblValeur(1, I) = .Fields(0).Value
TblValeur(2, I) = .Fields(1).Value
End With
ConnectCL.Close
Next I
'récupération des valeurs stockées dans le tableau
For I = 1 To UBound(TblValeur, 2)
Debug.Print TblValeur(1, I) & " " & TblValeur(2, I)
Next I
Erase TblClasseur
Erase TblValeur
Set Rs = Nothing
Set ConnectCL = Nothing
End Sub
Private Function Fichiers(Dossier As String, _
J As Integer) As String()
Dim TableauFichiers() As String
'J est passé en Ref. et si il est incrémenté,
'le dossier contient bien des classeurs
'sinon, le dossier est vide de classeurs
With Application.FileSearch
.NewSearch
.FileType = msoFileTypeExcelWorkbooks
.LookIn = Dossier
If .Execute > 0 Then
For J = 1 To .FoundFiles.Count
ReDim Preserve TableauFichiers(1 To J)
TableauFichiers(J) = .FoundFiles(J)
Next J
End If
End With
Fichiers = TableauFichiers()
End Function
Hervé.
"Jean-Marc" <jmg69@bcge.ch> a écrit dans le message news:
6ba401c48393$330abf30$a501280a@phx.gbl...
Bonjour
Je désire savoir comment je peux extraire deux champs sur
plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3
feuilles, exemple base de données (info sur le client),
devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux
champs. Comment puis-je faire pour faciliter l'extraction
sans être obligé d'ouvrir les 103 fichiers.
Salut Jean Marc, Teste ceci mais d'abord, adapte. Exécute la proc "RecupValeurs" :
Private Sub ConnectCLasseur(ConnectCL As Object, _ Fichier As String, _ Optional Rs)
Set ConnectCL = CreateObject("ADODB.Connection") If Not IsMissing(Rs) Then Set Rs = CreateObject("ADODB.Recordset") End If
ConnectCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Fichier & ";" & _ "Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;""" End Sub
Sub RecupValeurs() Dim ConnectCL As Object Dim Rs As Object Dim Chemin As String Dim Classeur As String Dim NomFeuille As String Dim Plage As String Dim TblClasseur() As String Dim TblValeur() Dim I As Integer Dim J As Integer
'chemin où vont être récupérés les 'classeurs Chemin = "D:" 'retourne un tableau contenant tous 'les classeurs du dossier TblClasseur = Fichiers(Chemin, J)
'si aucun classeur dans le dossier, fin 'J est passé en Ref. et sa valeur est ensuite testée If J = 0 Then MsgBox "Ancun classeur ne se trouve dans ce dossier !" Exit Sub End If
'feuille ou s'effectuera la récup, à adapter NomFeuille = "Feuil1" 'plage ou s'effectuera la récup, à adapter 'pour une cellule, écrire de la façon 'suivante : "A1:A1" Plage = "A1:B1"
For I = 1 To UBound(TblClasseur) 'chemin du classeur cible Classeur = TblClasseur(I) 'connecxion ConnectCLasseur ConnectCL, Classeur, Rs ReDim Preserve TblValeur(1 To 2, 1 To I) With Rs .CursorType = 1 .LockType = 3 .Open "SELECT * FROM `" & NomFeuille & "$" & _ Plage & "` ", ConnectCL TblValeur(1, I) = .Fields(0).Value TblValeur(2, I) = .Fields(1).Value End With
ConnectCL.Close Next I 'récupération des valeurs stockées dans le tableau For I = 1 To UBound(TblValeur, 2) Debug.Print TblValeur(1, I) & " " & TblValeur(2, I) Next I
Erase TblClasseur Erase TblValeur Set Rs = Nothing Set ConnectCL = Nothing End Sub
Private Function Fichiers(Dossier As String, _ J As Integer) As String() Dim TableauFichiers() As String 'J est passé en Ref. et si il est incrémenté, 'le dossier contient bien des classeurs 'sinon, le dossier est vide de classeurs With Application.FileSearch .NewSearch .FileType = msoFileTypeExcelWorkbooks .LookIn = Dossier If .Execute > 0 Then For J = 1 To .FoundFiles.Count ReDim Preserve TableauFichiers(1 To J) TableauFichiers(J) = .FoundFiles(J) Next J End If End With Fichiers = TableauFichiers() End Function
Hervé.
"Jean-Marc" a écrit dans le message news: 6ba401c48393$330abf30$ Bonjour
Je désire savoir comment je peux extraire deux champs sur plusieurs fichiers identiques.
J'ai un fichier par client, dans ce fichier j'ai 3 feuilles, exemple base de données (info sur le client), devis et contrat.
Je voudrais extraire de ses 103 fichiers identiques deux champs. Comment puis-je faire pour faciliter l'extraction sans être obligé d'ouvrir les 103 fichiers.