OVH Cloud OVH Cloud

copier vers fichiers fermés

10 réponses
Avatar
gilles
bonjour =E0 tous,
Pour copier des donn=E9es depuis un fichier ferm=E9 ,j'ai=20
tent=E9 de modifier un code qui m'a =E9t=E9 sugg=E9r=E9=20
(GetValuesFrom)=20
je l'ai modifi=E9 en CopyValuesTo et plac=E9 dans la feuille=20
du fichier ou sont les donn=E9es , pour les copier vers=20
plusieurs fichiers ferm=E9s

Sub test()
copyValuesToAClosedWorkbook "C:\essai", "PPSPS=20
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:\essai", "PMQ=20
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula =3D "=3D'" & fPath & "\[" & fName & "]" & sName=20
& "'!" & cellRange
.Value =3D .Value
End With
End Sub

Ca ne fonctionne pas car il =E9crase les donn=E9es du fichier=20
ou sont les donn=E9es
=E7a ne vous =E9tonne pas !? moi non plus remarquez, mais si=20
kekun pouvait m'indiquer ce qui ne va pas , ce serait bien=20
bien bien...
merci d'avance
gilles

10 réponses

Avatar
michdenis
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange
.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit dans le message de news:6d1201c483a8$c8e790e0$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
.Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait bien
bien bien...
merci d'avance
gilles
Avatar
gilles
merci Michel
j'essaie ça de suite
à+
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange

.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait bien
bien bien...
merci d'avance
gilles


.



Avatar
gilles
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le fichier
fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange

.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait bien
bien bien...
merci d'avance
gilles


.



Avatar
michdenis
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton attention et elle fonctionne adéquatement. Il m'est difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit dans le message de news:79db01c48442$54816290$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le fichier
fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange

.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait bien
bien bien...
merci d'avance
gilles


.



Avatar
gilles
merci encore pour la rapidité de ta réponse
je vais voir ou j'ai merdoyé
à+
-----Message d'origine-----
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton
attention et elle fonctionne adéquatement. Il m'est

difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit
dans le message de news:79db01c48442$54816290

$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le fichier
fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange

.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait
bien


bien bien...
merci d'avance
gilles


.




.




Avatar
gilles
bonjour MICHDENIS (Michel?)
Tu vas me trouver pénible, mais je ne suis pas parvenu à
mes fins
La macro , (telle que je l'adapte), agit comme si elle
récupère les données d'un classeur fermé (comme
getvalues), alors que moi je souhaite exporter des données
du classeur actif vers des classeurs fermés.
Je ne vois pas ou je bug
cordialement
-----Message d'origine-----
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton
attention et elle fonctionne adéquatement. Il m'est

difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit
dans le message de news:79db01c48442$54816290

$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le fichier
fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange

.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait
bien


bien bien...
merci d'avance
gilles


.




.




Avatar
michdenis
Bonjour Gilles,

Et bien là, on va être tous les 2 d'accord, cette procédure ne répond pas à ce que tu veux faire ! Moi, j'ai simplement
adapté la procédure que tu avais soumise ! ;-)

Pour écrire dans un fichier fermé, il est possible d'utiliser ADO (Activex Data Object), il faut ajouter une référence au
projet Excel à partir de la fenêtre VBE(visual basic editor) ... Tu as peut être un exemple sur le site de Frédéric
Sigonneau.

Pour l'instant, je n'ai pas le temps de te soumettre un exemple ...!


Salutations!



"gilles" a écrit dans le message de news:81a701c4852a$db038c60$
bonjour MICHDENIS (Michel?)
Tu vas me trouver pénible, mais je ne suis pas parvenu à
mes fins
La macro , (telle que je l'adapte), agit comme si elle
récupère les données d'un classeur fermé (comme
getvalues), alors que moi je souhaite exporter des données
du classeur actif vers des classeurs fermés.
Je ne vois pas ou je bug
cordialement
-----Message d'origine-----
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton
attention et elle fonctionne adéquatement. Il m'est

difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit
dans le message de news:79db01c48442$54816290

$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le fichier
fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange

.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la feuille
du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du fichier
ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais si
kekun pouvait m'indiquer ce qui ne va pas , ce serait
bien


bien bien...
merci d'avance
gilles


.




.




Avatar
gilles
re bonjour à toi
là tu me rassures, car je me savais nul mais ça frisais
le ridicule ! !
oui je suis allé voir sur le site de Frédéric SIGONNEAU
J'en ai trouvé une mais je ne parviens pas pour l'instant
à la comprendre et l'adapter
merci encore .Excuse pour les nombreuses relances
Ne sois pas surpris si tu retrouve sur le forum un
nouveau message de ma part à ce sujet, car j'ai vraiment
besoin de trouver cette solution
à +

-----Message d'origine-----
Bonjour Gilles,

Et bien là, on va être tous les 2 d'accord, cette
procédure ne répond pas à ce que tu veux faire ! Moi,

j'ai simplement
adapté la procédure que tu avais soumise ! ;-)

Pour écrire dans un fichier fermé, il est possible
d'utiliser ADO (Activex Data Object), il faut ajouter une

référence au
projet Excel à partir de la fenêtre VBE(visual basic
editor) ... Tu as peut être un exemple sur le site de

Frédéric
Sigonneau.

Pour l'instant, je n'ai pas le temps de te soumettre un
exemple ...!



Salutations!



"gilles" a écrit
dans le message de news:81a701c4852a$db038c60

$
bonjour MICHDENIS (Michel?)
Tu vas me trouver pénible, mais je ne suis pas parvenu à
mes fins
La macro , (telle que je l'adapte), agit comme si elle
récupère les données d'un classeur fermé (comme
getvalues), alors que moi je souhaite exporter des
données

du classeur actif vers des classeurs fermés.
Je ne vois pas ou je bug
cordialement
-----Message d'origine-----
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton
attention et elle fonctionne adéquatement. Il m'est

difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit
dans le message de news:79db01c48442$54816290

$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le
fichier


fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" &
sName



& "'!" & cellRange
.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la
feuille



du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du
fichier



ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais
si



kekun pouvait m'indiquer ce qui ne va pas , ce serait
bien


bien bien...
merci d'avance
gilles


.




.




.





Avatar
michdenis
Bonjour Gilles,

Voici un exemple : l'idée originale est de Rob Bovey, mpep
mais j'ai modifié légèrement le code ....

Tu dois ajouter la référence à ton classeur.
Fenêtre VBE(visual basic editor) / barre des menus / outils / référence

et dans la liste, tu coches celle-ci :

"Microsoft Activex Data Object 2.5 Librairy"

Attention, la valeur des variables doivent être modifiée selon ton application.

'Variable déclarée dans le haut du classeur
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset

'------------------------------------------
Sub EcritDatas()

Dim Fich As String, cell As Range

'nom et chemin du classeur fermé
Fich = "C:excelAdo ado.xls" 'à adapter

'Crée un objet connection ...
Set oConn = CreateObject("ADODB.Connection")
' Ouvre une connection vers le classeur fermé
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fich & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"

'écrit dans le classeur fermé la valeur des
'cellules A1:A5 de ce classeur (classeur actif)
For Each cell In ActiveWorkbook.Sheets("Feuil1").Range("A1:A5")
SetExternalDatas Fich, "Feuil2", cell.Address(0, 0), cell.Text
Next

'Ferme la connection
oConn.Close
'Libère l'expace mémoire
Set oConn = Nothing
Set oCmd = Nothing
Set oRS = Nothing

End Sub
'------------------------------------------
'écrit DataToWrite dans la cellule DestCellAdr
'de la feuille DestFeuille du classeur fermé DestFile
Sub SetExternalDatas(DestFile As String, _
DestFeuille As String, _
DestCellAdr As String, _
DataToWrite As Variant)

Dim RangeDest As String

' Create a command object and set its ActiveConnection
Set oCmd = CreateObject("ADODB.Command")
oCmd.ActiveConnection = oConn

' This SQL statement selects a cell range in the "feuilleTest" worksheet.
'1 Sélection pour écrire dans une seule cellule
RangeDest = DestCellAdr & ":" & DestCellAdr
oCmd.CommandText = "SELECT * from `" & DestFeuille & "$" & RangeDest & "`"

' Open a recordset containing the worksheet data.
Set oRS = CreateObject("ADODB.Recordset")
oRS.Open oCmd, , 1, 3 'adOpenKeyset, adLockOptimistic

' Update last row
oRS(0).Value = DataToWrite
oRS.Update

End Sub
'------------------------------------------


Salutations!




"gilles" a écrit dans le message de news:13dd01c4853d$aac457b0$
re bonjour à toi
là tu me rassures, car je me savais nul mais ça frisais
le ridicule ! !
oui je suis allé voir sur le site de Frédéric SIGONNEAU
J'en ai trouvé une mais je ne parviens pas pour l'instant
à la comprendre et l'adapter
merci encore .Excuse pour les nombreuses relances
Ne sois pas surpris si tu retrouve sur le forum un
nouveau message de ma part à ce sujet, car j'ai vraiment
besoin de trouver cette solution
à +

-----Message d'origine-----
Bonjour Gilles,

Et bien là, on va être tous les 2 d'accord, cette
procédure ne répond pas à ce que tu veux faire ! Moi,

j'ai simplement
adapté la procédure que tu avais soumise ! ;-)

Pour écrire dans un fichier fermé, il est possible
d'utiliser ADO (Activex Data Object), il faut ajouter une

référence au
projet Excel à partir de la fenêtre VBE(visual basic
editor) ... Tu as peut être un exemple sur le site de

Frédéric
Sigonneau.

Pour l'instant, je n'ai pas le temps de te soumettre un
exemple ...!



Salutations!



"gilles" a écrit
dans le message de news:81a701c4852a$db038c60

$
bonjour MICHDENIS (Michel?)
Tu vas me trouver pénible, mais je ne suis pas parvenu à
mes fins
La macro , (telle que je l'adapte), agit comme si elle
récupère les données d'un classeur fermé (comme
getvalues), alors que moi je souhaite exporter des
données

du classeur actif vers des classeurs fermés.
Je ne vois pas ou je bug
cordialement
-----Message d'origine-----
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton
attention et elle fonctionne adéquatement. Il m'est

difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit
dans le message de news:79db01c48442$54816290

$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai placé
dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le
fichier


fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" &
sName



& "'!" & cellRange
.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la
feuille



du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du
fichier



ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais
si



kekun pouvait m'indiquer ce qui ne va pas , ce serait
bien


bien bien...
merci d'avance
gilles


.




.




.





Avatar
gilles
merci infiniment
je vais essayé d'adapter ce code si mais limites
n'apparaissent pas trop tot !
à + et merci

-----Message d'origine-----
Bonjour Gilles,

Voici un exemple : l'idée originale est de Rob Bovey,
mpep

mais j'ai modifié légèrement le code ....

Tu dois ajouter la référence à ton classeur.
Fenêtre VBE(visual basic editor) / barre des menus /
outils / référence


et dans la liste, tu coches celle-ci :

"Microsoft Activex Data Object 2.5 Librairy"

Attention, la valeur des variables doivent être modifiée
selon ton application.


'Variable déclarée dans le haut du classeur
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset

'------------------------------------------
Sub EcritDatas()

Dim Fich As String, cell As Range

'nom et chemin du classeur fermé
Fich = "C:excelAdo ado.xls" 'à adapter

'Crée un objet connection ...
Set oConn = CreateObject("ADODB.Connection")
' Ouvre une connection vers le classeur fermé
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fich & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"

'écrit dans le classeur fermé la valeur des
'cellules A1:A5 de ce classeur (classeur actif)
For Each cell In ActiveWorkbook.Sheets("Feuil1").Range
("A1:A5")

SetExternalDatas Fich, "Feuil2", cell.Address(0,
0), cell.Text

Next

'Ferme la connection
oConn.Close
'Libère l'expace mémoire
Set oConn = Nothing
Set oCmd = Nothing
Set oRS = Nothing

End Sub
'------------------------------------------
'écrit DataToWrite dans la cellule DestCellAdr
'de la feuille DestFeuille du classeur fermé DestFile
Sub SetExternalDatas(DestFile As String, _
DestFeuille As String, _
DestCellAdr As String, _
DataToWrite As Variant)

Dim RangeDest As String

' Create a command object and set its ActiveConnection
Set oCmd = CreateObject("ADODB.Command")
oCmd.ActiveConnection = oConn

' This SQL statement selects a cell range in
the "feuilleTest" worksheet.

'1 Sélection pour écrire dans une seule cellule
RangeDest = DestCellAdr & ":" & DestCellAdr
oCmd.CommandText = "SELECT * from `" & DestFeuille
& "$" & RangeDest & "`"


' Open a recordset containing the worksheet data.
Set oRS = CreateObject("ADODB.Recordset")
oRS.Open oCmd, , 1, 3 'adOpenKeyset, adLockOptimistic

' Update last row
oRS(0).Value = DataToWrite
oRS.Update

End Sub
'------------------------------------------


Salutations!




"gilles" a écrit
dans le message de news:13dd01c4853d$aac457b0

$
re bonjour à toi
là tu me rassures, car je me savais nul mais ça frisais
le ridicule ! !
oui je suis allé voir sur le site de Frédéric SIGONNEAU
J'en ai trouvé une mais je ne parviens pas pour l'instant
à la comprendre et l'adapter
merci encore .Excuse pour les nombreuses relances
Ne sois pas surpris si tu retrouve sur le forum un
nouveau message de ma part à ce sujet, car j'ai vraiment
besoin de trouver cette solution
à +

-----Message d'origine-----
Bonjour Gilles,

Et bien là, on va être tous les 2 d'accord, cette
procédure ne répond pas à ce que tu veux faire ! Moi,

j'ai simplement
adapté la procédure que tu avais soumise ! ;-)

Pour écrire dans un fichier fermé, il est possible
d'utiliser ADO (Activex Data Object), il faut ajouter une

référence au
projet Excel à partir de la fenêtre VBE(visual basic
editor) ... Tu as peut être un exemple sur le site de

Frédéric
Sigonneau.

Pour l'instant, je n'ai pas le temps de te soumettre un
exemple ...!



Salutations!



"gilles" a écrit
dans le message de news:81a701c4852a$db038c60

$
bonjour MICHDENIS (Michel?)
Tu vas me trouver pénible, mais je ne suis pas parvenu à
mes fins
La macro , (telle que je l'adapte), agit comme si elle
récupère les données d'un classeur fermé (comme
getvalues), alors que moi je souhaite exporter des
données

du classeur actif vers des classeurs fermés.
Je ne vois pas ou je bug
cordialement
-----Message d'origine-----
Bonjour Gilles,

Je testé à nouveau les procédures soumises à ton
attention et elle fonctionne adéquatement. Il m'est

difficile d'en dire plus
sinon de faire attention au copier-coller !


Salutations!



"gilles" a écrit
dans le message de news:79db01c48442$54816290

$
re bonjour Michel,
J'ai essayé le code que tu m'as transmis, que j'ai
placé



dans la feuille du fichier ou sont les données
j'ai remplacé
c:excel par D:essai (le repertoire ou se situe le
fichier


fermé à compléter)
ado.xls par PPSPS TYPE (le nom du fichier fermé à
compléter)
feuil2 par feuil1
plage idem
Une boite s'affiche qui demande le nom de la feuille du
fichier à compléter, (mais pour y prélever les donnees)
ça écrase les données du fichier d'origine
Peut être que j'ai mal interprété la transposition??
à +
-----Message d'origine-----
Bonjour Gilles,

Essaie ce qui suit :

Attention à l'ordre des arguments.

Dans mon exemple :

C:Excel = chemin
Ado.xls = nom du fichier
Feuil2 = Nom de la feuille du fichier
B8:H85 = Plage à copier


'-----------------------------
Sub test()

copyValuesToAClosedWorkbook "C:Excel", _
"Ado.xls", "Feuil2", "B8:H85"
End Sub
'-----------------------------
Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)

With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" &
sName



& "'!" & cellRange
.Value = .Value
End With
End Sub
'-----------------------------


Salutations!






"gilles" a écrit
dans le message de news:6d1201c483a8$c8e790e0

$
bonjour à tous,
Pour copier des données depuis un fichier fermé ,j'ai
tenté de modifier un code qui m'a été suggéré
(GetValuesFrom)
je l'ai modifié en CopyValuesTo et placé dans la
feuille



du fichier ou sont les données , pour les copier vers
plusieurs fichiers fermés

Sub test()
copyValuesToAClosedWorkbook "C:essai", "PPSPS
TYPE.xls", "info affaire", "B8:H85"
copyValuesToAClosedWorkbook "C:essai", "PMQ
TYPE.xls", "info affaire", "B8:H85"
End Sub

Sub copyValuesToAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
..Formula = "='" & fPath & "[" & fName & "]" & sName
& "'!" & cellRange
..Value = .Value
End With
End Sub

Ca ne fonctionne pas car il écrase les données du
fichier



ou sont les données
ça ne vous étonne pas !? moi non plus remarquez, mais
si



kekun pouvait m'indiquer ce qui ne va pas , ce serait
bien


bien bien...
merci d'avance
gilles


.




.




.




.