Excel / VB MAJ Fichier par un autre fichier
PISKAL66
Messages postés
2
Statut
Membre
-
PISKAL66 Messages postés 2 Statut Membre -
PISKAL66 Messages postés 2 Statut Membre -
Bonjour,
Dans le cadre de mon travail j'ai besoin d'actualiser un fichier que j'appellerai FICHIER 1 à partir d'un autre fichier Excel appelé FICHIER 2. A chaque ouverture de mon FICHIER 1 il faut qu'EXCEL le mette à jour à partir du fichier 2 tel que:
FICHIER 1
colonne A
ID CLIENT
284466
47464
11564
4647/79
FICHIER 1
colonne B
Facture Payée?
FICHIER 2
colonne X
ID CLIENT
48938
98765
12133
47464
FICHIER 2
colonne Y
FACTURE PAYEE
oui
non
non
oui
Lorsque la conne Y du fichier 2 est mise à jour, à l'ouverture du FICHIER 1 la mention oui ou non doit apparaître dans la colonne B en fonction du même ID client. A noter certains ID CLIENT du fichier 2 ne sont pas présents dans le fichier 1.
Si un génie d'Excel peut m'aider ça serait gentil.
Merci
Dans le cadre de mon travail j'ai besoin d'actualiser un fichier que j'appellerai FICHIER 1 à partir d'un autre fichier Excel appelé FICHIER 2. A chaque ouverture de mon FICHIER 1 il faut qu'EXCEL le mette à jour à partir du fichier 2 tel que:
FICHIER 1
colonne A
ID CLIENT
284466
47464
11564
4647/79
FICHIER 1
colonne B
Facture Payée?
FICHIER 2
colonne X
ID CLIENT
48938
98765
12133
47464
FICHIER 2
colonne Y
FACTURE PAYEE
oui
non
non
oui
Lorsque la conne Y du fichier 2 est mise à jour, à l'ouverture du FICHIER 1 la mention oui ou non doit apparaître dans la colonne B en fonction du même ID client. A noter certains ID CLIENT du fichier 2 ne sont pas présents dans le fichier 1.
Si un génie d'Excel peut m'aider ça serait gentil.
Merci
A voir également:
- Excel / VB MAJ Fichier par un autre fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
Bonjour,
Tu peux le faire avec une connexion ADO.
Il faut activé la référence Microsoft ActiveX Data Objects x.xx Library.
Ensuite dans un module, copier/coller ce code :
Et pour lancer la MAJ lors de l'ouverture, il faut aller dans l'éditeur de Thisworkbook et copier ce code:
;o)
Tu peux le faire avec une connexion ADO.
Il faut activé la référence Microsoft ActiveX Data Objects x.xx Library.
Ensuite dans un module, copier/coller ce code :
Sub MAJ()
Dim ws As Worksheet
Dim lig As Long
Dim str As String
Set ws = Worksheets(1)
lig = 2
While ws.Range("A" & lig).Value <> ""
str = queryOpen(ws.Range("A" & lig).Value)
ws.Range("B" & lig).Value = str
lig = lig + 1
Wend
End Sub
Function queryOpen(ByVal Id As Long) As String
Dim Source As ADODB.Connection
Dim Requete As ADODB.Recordset
Dim Fichier As String, xSQL As String
Dim i As Long
Fichier = "C:\Fichier2.xls" 'Mettre le chemin complet de la base
Set Source = New ADODB.Connection
Source.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & Fichier & ";" & _
"extended properties=""Excel 8.0;HDR=Yes"""
xSQL = "SELECT [Feuil1$].FACTURE PAYEE FROM [Feuil1$] " & _
"WHERE [Feuil1$].ID CLIENT =" & Id
Set Requete = New ADODB.Recordset
Set Requete = Source.Execute(xSQL)
queryOpen = Requete.fields(0)
Requete.Close
Source.Close
End Function
Et pour lancer la MAJ lors de l'ouverture, il faut aller dans l'éditeur de Thisworkbook et copier ce code:
Private Sub Workbook_Open()
Module1.MAJ
End Sub
;o)
ouf j'étais pas prêt de trouver !! merci beaucoup je vais essayer de tester ça !!
Merci