enregistrement par VBA dans un autre fichier xls

Le
Rémi
bonjour,
décidemment aujourd'hui c'est la journée des questions..

je recherche une méthode pratique en VBA (car je dois l'intégrer dans du
code déjà existant) pour enregistrer la valeur d'une cellule d'un fichier A
xls vers une cellule d'un fichier B xls.
merci d'avance de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #21014801
Salut,

En supposant que c'est déjà ouvert, dans le code existant, tu n'as
qu'une ligne à ajouter

If Transvaser("fichierA.xls", "fichierB.xls", "Feuil1", "Feuil1",
"A1:D5", "B1:E5") = False Then MsgBox "Erreur"


puis tu ajoutes ce code dans un module :

Function Transvaser(a As String, b As String, shA As String, shB As
String, rngA As String, rngB As String)
' a correspond au fichier source
' b correspond au fichier de destination
' shA correspond à la feuille source
' shB correspond à la feuille de destination
' rngA correspond à la plage source
' rngB correspond à la plage de destination

On Error GoTo err_handler
Dim fichierA As Workbook
Dim fichierB As Workbook
Set fichierA = Workbooks(a)
Set fichierB = Workbooks(b)
fichierB.Sheets(shB).Range(rngB).Value = fichierA.Sheets(shA).Range
(rngA).Value
fichierB.Save
Transvaser = True
On Error GoTo 0
Exit Function
err_handler:
Transvaser = False
End Function

Cordialement,

F.
Daniel.C
Le #21014791
Bonjour.
Les deux classeurs sont-ils ouverts ?
Daniel

bonjour,
décidemment aujourd'hui c'est la journée des questions..

je recherche une méthode pratique en VBA (car je dois l'intégrer dans du code
déjà existant) pour enregistrer la valeur d'une cellule d'un fichier A xls
vers une cellule d'un fichier B xls.
merci d'avance de votre aide


Rémi
Le #21014981
bonjour Daniel,
seul le fichier A (source) est ouvert, le fichier B (destination) est fermé

"Daniel.C" news:
Bonjour.
Les deux classeurs sont-ils ouverts ?
Daniel

bonjour,
décidemment aujourd'hui c'est la journée des questions..

je recherche une méthode pratique en VBA (car je dois l'intégrer dans du
code déjà existant) pour enregistrer la valeur d'une cellule d'un fichier
A xls vers une cellule d'un fichier B xls.
merci d'avance de votre aide






Daniel.C
Le #21015241
Dans Outils / Références de l'écran VBE, coche :
Microsoft ActiveX Data Objects x.x Library
Je remercie celui à qui j'ai piqué ce code, dans doute Michdenis ?
Utilise ensuite la macro :

Sub EcrireDansFichierFermé()
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String

'Fichier destination fermé (à adapter)
Fichier = "e:donneesdanielexceladoclasseurferme.xls"

Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"

Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn
'dans la ligne suivante, "Feuil2$A10:A10" représente la feuille
' et la cellule du fichier destinataire
Cd.CommandText = "SELECT * FROM [Feuil2$A10:A10]"

Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
Rst(0).Value = [A1] ' cellule du fichier source

Rst.Update

Cn.Close
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
End Sub

bonjour Daniel,
seul le fichier A (source) est ouvert, le fichier B (destination) est fermé

"Daniel.C" news:
Bonjour.
Les deux classeurs sont-ils ouverts ?
Daniel

bonjour,
décidemment aujourd'hui c'est la journée des questions..

je recherche une méthode pratique en VBA (car je dois l'intégrer dans du
code déjà existant) pour enregistrer la valeur d'une cellule d'un fichier
A xls vers une cellule d'un fichier B xls.
merci d'avance de votre aide








Publicité
Poster une réponse
Anonyme