D
DOM
Guest
Bonjour forum
COmment vas tu ce midi?
CE fil fait en quelques sorte suite a la la recherche de solution au pb évoqué dans le fil Lien supprimé.
Je souhaite etablir les liens entre mon fichier actif et un fichier fermé ou au moins copié les valeurs dans ce dernier.
Le groupe de cellule que je souhaite copier se trouve dans playa. Ce st des cellules qui se trouvent a des endroits distincts dans le classeur.
je souhaiterai que ces 11 valeurs viennent s ajouter sur une meme ligne de la cellule b5 a la cellule L 5 de mon fichier fermé.
J ai regardé les quelques de demos de michel et du web et j avoue etre un peu perdu avec ces recordset et command text.. notamment dans la définition de l endroit exact du classeur ou je vais copier et la manière de copier les valeurs.
Voici un esquisse de mon code
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Fichier As String, Cible As String, Feuille As String
Dim n As Byte
Dim valeur As Integer
‘union sous le nom « Playa » des cellule de mon classeur actif que je souhaite copier dans mon fichier fermer
Set playa = Application.Union(Worksheets(« PM »).Range(« C41 »),Worksheets(« donnee »).Range(« D20 »), Worksheets(« Outils »).Range(« E27 »); Worksheets(« PM »).Range(« C41 »), Worksheets(« PM »).Range(« I6 »), Worksheets(« PM »).Range(« av104 »), Worksheets(« Etat »).Range(«E12”), Worksheets(« Etat »).Range(«g50”), Worksheets(« Etat »).Range(«G52”), Worksheets(« Etat »).Range(«I50”), Worksheets(« Etat »).Range(«H50'))
‘utilisation d´un redim pour faciliter la copie
Redim Valeur(11)
For each cell in Playa
Valeur(n) = Cell.formula ’ attribution du lien
N=n+1
Next
Fichier = “X:\\Models\\Plan\\Etat_plan.xls”
Feuille = 'Etat$' 'attention a ne pas oublier le '$'
Set Cn = New ADODB.Connection
Cn.Open 'Provider = Microsoft.Jet.OLEDB.4.0;' & _
'data source=' & Fichier & ';' & _
'extended properties=''Excel 8.0;''
Set Cd = New ADODB.Command
Cd.activeConnection = Cn
Cd.commandText = 'SELECT * from `Etat!$A1:A1`' ‘ je ne sais pas trop ce que ca veut dire je suppose que c est la case d origine
Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
For n=0 to 11
Rst(0).Value = Valeur(n) je n ai pas trouvé assez d info sur le recordset mais j imagine que c est les valeurs qu on souhaite transféréRst.Update
Cn.Close
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
End Sub
Je sais que ce code est un peu long masi je remercie tout ce qui auront pris le soin de le lirre
DOM
COmment vas tu ce midi?
CE fil fait en quelques sorte suite a la la recherche de solution au pb évoqué dans le fil Lien supprimé.
Je souhaite etablir les liens entre mon fichier actif et un fichier fermé ou au moins copié les valeurs dans ce dernier.
Le groupe de cellule que je souhaite copier se trouve dans playa. Ce st des cellules qui se trouvent a des endroits distincts dans le classeur.
je souhaiterai que ces 11 valeurs viennent s ajouter sur une meme ligne de la cellule b5 a la cellule L 5 de mon fichier fermé.
J ai regardé les quelques de demos de michel et du web et j avoue etre un peu perdu avec ces recordset et command text.. notamment dans la définition de l endroit exact du classeur ou je vais copier et la manière de copier les valeurs.
Voici un esquisse de mon code
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Fichier As String, Cible As String, Feuille As String
Dim n As Byte
Dim valeur As Integer
‘union sous le nom « Playa » des cellule de mon classeur actif que je souhaite copier dans mon fichier fermer
Set playa = Application.Union(Worksheets(« PM »).Range(« C41 »),Worksheets(« donnee »).Range(« D20 »), Worksheets(« Outils »).Range(« E27 »); Worksheets(« PM »).Range(« C41 »), Worksheets(« PM »).Range(« I6 »), Worksheets(« PM »).Range(« av104 »), Worksheets(« Etat »).Range(«E12”), Worksheets(« Etat »).Range(«g50”), Worksheets(« Etat »).Range(«G52”), Worksheets(« Etat »).Range(«I50”), Worksheets(« Etat »).Range(«H50'))
‘utilisation d´un redim pour faciliter la copie
Redim Valeur(11)
For each cell in Playa
Valeur(n) = Cell.formula ’ attribution du lien
N=n+1
Next
Fichier = “X:\\Models\\Plan\\Etat_plan.xls”
Feuille = 'Etat$' 'attention a ne pas oublier le '$'
Set Cn = New ADODB.Connection
Cn.Open 'Provider = Microsoft.Jet.OLEDB.4.0;' & _
'data source=' & Fichier & ';' & _
'extended properties=''Excel 8.0;''
Set Cd = New ADODB.Command
Cd.activeConnection = Cn
Cd.commandText = 'SELECT * from `Etat!$A1:A1`' ‘ je ne sais pas trop ce que ca veut dire je suppose que c est la case d origine
Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
For n=0 to 11
Rst(0).Value = Valeur(n) je n ai pas trouvé assez d info sur le recordset mais j imagine que c est les valeurs qu on souhaite transféréRst.Update
Cn.Close
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
End Sub
Je sais que ce code est un peu long masi je remercie tout ce qui auront pris le soin de le lirre
DOM