Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb exportation excel

12 réponses
Avatar
Bubu
Bonjour à tous,
J'ai créé une macro qui me permet d'exporter le résultat d'une requête dans
excel (2000) avec la commande Copier vers. L'exportation semble se dérouler
normalement mais lorsque j'essaie d'utiliser le fichier excel ainsi créé pour
faire une fusions dans word, j'obtiens un message d'erreur "Impossible de
rétablir une laison DDE avec microsoft excel". Pourtant, lorsque j'ouvre le
fichier excel ainsi créé, il ne semble pas poser de problème. Je vous pose
cette question dans le forum access car le problème semble venir de mon
exportation. Car lorsque je fais le même type d'exportation avec une requête
à peine différente, la fusion se fait sans problème.

Voici le code SQL de la requête qui pose problème :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Et voici le code d'une requête à peine différente avec laquelle ça marche
très bien :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null) AND
((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86'))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Pouvez-vous m'aider car j'avoue que je m'arrache les cheveux ?
Merci d'avance.
Bubu

10 réponses

1 2
Avatar
Pierre CFI [mvp]
bonjour
tu as bien vérifié le format d'excel choisit ??

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/

"Bubu" a écrit dans le message de news:
Bonjour à tous,
J'ai créé une macro qui me permet d'exporter le résultat d'une requête dans
excel (2000) avec la commande Copier vers. L'exportation semble se dérouler
normalement mais lorsque j'essaie d'utiliser le fichier excel ainsi créé pour
faire une fusions dans word, j'obtiens un message d'erreur "Impossible de
rétablir une laison DDE avec microsoft excel". Pourtant, lorsque j'ouvre le
fichier excel ainsi créé, il ne semble pas poser de problème. Je vous pose
cette question dans le forum access car le problème semble venir de mon
exportation. Car lorsque je fais le même type d'exportation avec une requête
à peine différente, la fusion se fait sans problème.

Voici le code SQL de la requête qui pose problème :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Et voici le code d'une requête à peine différente avec laquelle ça marche
très bien :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null) AND
((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86'))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Pouvez-vous m'aider car j'avoue que je m'arrache les cheveux ?
Merci d'avance.
Bubu


Avatar
Bubu
Bonjour Pierre et merci de t'intéresser à mon cas,
Avec la commande CopierVers, je n'ai qu'une seul choix de format excel :
Microsoft Excel (*.xls).
C'est vrai que si je fais mon exportation avec la commande transférer
feuille calcul, j'ai plus de choix de formats. D'ailleurs si j'exporte avec
cette dernière commande, je n'ai pas de problème pour la fusion. Mais le
problème de cette commande est que chaque fois que je fais une exportation,
il n'écrase pas le fichier excel existant avec le nouveau (ce que je veux)
mais il crée une nouvelle feuille dans mon classeur excel existant. Ce qui ne
me convient pas car je veux que mon fichier excel soit écrasé chaque fois que
j'exécute la macro.
T'as une idée ?


bonjour
tu as bien vérifié le format d'excel choisit ??

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/

"Bubu" a écrit dans le message de news:
Bonjour à tous,
J'ai créé une macro qui me permet d'exporter le résultat d'une requête dans
excel (2000) avec la commande Copier vers. L'exportation semble se dérouler
normalement mais lorsque j'essaie d'utiliser le fichier excel ainsi créé pour
faire une fusions dans word, j'obtiens un message d'erreur "Impossible de
rétablir une laison DDE avec microsoft excel". Pourtant, lorsque j'ouvre le
fichier excel ainsi créé, il ne semble pas poser de problème. Je vous pose
cette question dans le forum access car le problème semble venir de mon
exportation. Car lorsque je fais le même type d'exportation avec une requête
à peine différente, la fusion se fait sans problème.

Voici le code SQL de la requête qui pose problème :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Et voici le code d'une requête à peine différente avec laquelle ça marche
très bien :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null) AND
((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86'))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Pouvez-vous m'aider car j'avoue que je m'arrache les cheveux ?
Merci d'avance.
Bubu







Avatar
Pierre CFI [mvp]
méthode drastique
kill "c:.....ooo.xls"
avant la ligne de code export

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/

"Bubu" a écrit dans le message de news:
Bonjour Pierre et merci de t'intéresser à mon cas,
Avec la commande CopierVers, je n'ai qu'une seul choix de format excel :
Microsoft Excel (*.xls).
C'est vrai que si je fais mon exportation avec la commande transférer
feuille calcul, j'ai plus de choix de formats. D'ailleurs si j'exporte avec
cette dernière commande, je n'ai pas de problème pour la fusion. Mais le
problème de cette commande est que chaque fois que je fais une exportation,
il n'écrase pas le fichier excel existant avec le nouveau (ce que je veux)
mais il crée une nouvelle feuille dans mon classeur excel existant. Ce qui ne
me convient pas car je veux que mon fichier excel soit écrasé chaque fois que
j'exécute la macro.
T'as une idée ?


bonjour
tu as bien vérifié le format d'excel choisit ??

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/

"Bubu" a écrit dans le message de news:
Bonjour à tous,
J'ai créé une macro qui me permet d'exporter le résultat d'une requête dans
excel (2000) avec la commande Copier vers. L'exportation semble se dérouler
normalement mais lorsque j'essaie d'utiliser le fichier excel ainsi créé pour
faire une fusions dans word, j'obtiens un message d'erreur "Impossible de
rétablir une laison DDE avec microsoft excel". Pourtant, lorsque j'ouvre le
fichier excel ainsi créé, il ne semble pas poser de problème. Je vous pose
cette question dans le forum access car le problème semble venir de mon
exportation. Car lorsque je fais le même type d'exportation avec une requête
à peine différente, la fusion se fait sans problème.

Voici le code SQL de la requête qui pose problème :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Et voici le code d'une requête à peine différente avec laquelle ça marche
très bien :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null) AND
((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86'))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Pouvez-vous m'aider car j'avoue que je m'arrache les cheveux ?
Merci d'avance.
Bubu









Avatar
Bubu
méthode drastique
kill "c:.....ooo.xls"
avant la ligne de code export


C'est une idée
Mais j'avoue que j'aime bien comprendre ce qui cloche. Tu ne vois pas ce
qui, dans ma requête, pourrait poser un problème d'exportation ?

En tout cas merci beaucoup pour ton aide.
Bubu


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/

"Bubu" a écrit dans le message de news:
Bonjour Pierre et merci de t'intéresser à mon cas,
Avec la commande CopierVers, je n'ai qu'une seul choix de format excel :
Microsoft Excel (*.xls).
C'est vrai que si je fais mon exportation avec la commande transférer
feuille calcul, j'ai plus de choix de formats. D'ailleurs si j'exporte avec
cette dernière commande, je n'ai pas de problème pour la fusion. Mais le
problème de cette commande est que chaque fois que je fais une exportation,
il n'écrase pas le fichier excel existant avec le nouveau (ce que je veux)
mais il crée une nouvelle feuille dans mon classeur excel existant. Ce qui ne
me convient pas car je veux que mon fichier excel soit écrasé chaque fois que
j'exécute la macro.
T'as une idée ?


bonjour
tu as bien vérifié le format d'excel choisit ??

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/

"Bubu" a écrit dans le message de news:
Bonjour à tous,
J'ai créé une macro qui me permet d'exporter le résultat d'une requête dans
excel (2000) avec la commande Copier vers. L'exportation semble se dérouler
normalement mais lorsque j'essaie d'utiliser le fichier excel ainsi créé pour
faire une fusions dans word, j'obtiens un message d'erreur "Impossible de
rétablir une laison DDE avec microsoft excel". Pourtant, lorsque j'ouvre le
fichier excel ainsi créé, il ne semble pas poser de problème. Je vous pose
cette question dans le forum access car le problème semble venir de mon
exportation. Car lorsque je fais le même type d'exportation avec une requête
à peine différente, la fusion se fait sans problème.

Voici le code SQL de la requête qui pose problème :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Et voici le code d'une requête à peine différente avec laquelle ça marche
très bien :

SELECT [ADRESSE tous cheptels].Nuchep, [ADRESSE tous cheptels].[ORG ou
CHEP], [ADRESSE tous cheptels].Nompersonne, [ADRESSE tous cheptels].Adresse1,
[ADRESSE tous cheptels].Adresse2, [ADRESSE tous cheptels].Codepostal,
[ADRESSE tous cheptels].Comm, [ADRESSE tous cheptels].[Pays-]
FROM ([ADRESSE tous cheptels] INNER JOIN [Code cheptel adhérents clo] ON
[ADRESSE tous cheptels].[Code cheptel] = [Code cheptel adhérents clo].[Code
cheptel]) LEFT JOIN [Code cheptel appelés cotise] ON [Code cheptel adhérents
clo].[Code cheptel] = [Code cheptel appelés cotise].[Code cheptel]
WHERE ((([Code cheptel appelés cotise].[Code cheptel]) Is Null) AND
((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86'))
ORDER BY [ADRESSE tous cheptels].Nuchep;

Pouvez-vous m'aider car j'avoue que je m'arrache les cheveux ?
Merci d'avance.
Bubu














Avatar
Sherpa
Bonjour,
Peut être des pistes de recherches :
Quelle est la version du fichier Excel créé par CopierVers (5.0/95) ?
Lors du publipostage sous Word, as-tu coché la case 'Choisir l'importation'
au moment d'ouvrir la source de données ?
Sous Word, dans Outils/Options/Général la case Confirmation des conversions
à l'ouverture est-elle cochée ?
Mais si le pb vient effectivement de la requête, alors là je ne vois pas non
plus !
Avatar
Bubu
Bonjour Sherpa,
La version du fichier excel créé par copier vers est bien 5.0/95 et le
publipostage se fait par DDE. Enfin la case de conversion à l'ouverture de
word est bien cochée mais le problème semble bien venir de l'exportation car
la même manip (CopierVers avec une macro) avec une requête à peine différente
donne un résultat qui fonctionne très bien pour la fusion sous word. Je ne
comprends donc toujours pas pourquoi. J'ai finalement utilisé la méthode
assez drastique du "kill le fichier excel" puis remplacé la commande
CopierVers par TransférerFeuilleCalcul.

Meri de t'être intéressé à mon cas.
Bubu



Bonjour,
Peut être des pistes de recherches :
Quelle est la version du fichier Excel créé par CopierVers (5.0/95) ?
Lors du publipostage sous Word, as-tu coché la case 'Choisir l'importation'
au moment d'ouvrir la source de données ?
Sous Word, dans Outils/Options/Général la case Confirmation des conversions
à l'ouverture est-elle cochée ?
Mais si le pb vient effectivement de la requête, alors là je ne vois pas non
plus !


Avatar
Sherpa
J'ai essayé chez moi (Office 2000), et cela marche dans tous les cas.
Il semble que le pb ne vienne pas de la requête mais peut être d'ailleurs ???
Et à part la requête, y-a-t'il d'autres différences ?
Par exemple, Nom de la requête, Nom du fichier, ....
Avatar
Bubu
Le nom du fichier excel est toujours le meme car je viens l'écraser chaque
fois que je lance mon exportation mais le nom de la requete change. J'ai
aussi essayé en changeant le nom de la requete mais ça ne marche pas. Je me
trompe peut être mais j'ai l'impression que ce qui gene c'est mon critère,
dans la requete (voir ma première question avec l'instruction sql de la
requete). Car si je prends cette meme requete et que j'ajoute un critère
supplémentaire, ça marche... Je comprends pas !


J'ai essayé chez moi (Office 2000), et cela marche dans tous les cas.
Il semble que le pb ne vienne pas de la requête mais peut être d'ailleurs ???
Et à part la requête, y-a-t'il d'autres différences ?
Par exemple, Nom de la requête, Nom du fichier, ....



Avatar
Sherpa
Si je comprends bien, la seule différence est celle-ci :
AND ((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86')

As-tu essayé avec d'autres critères ?
Avatar
Bubu
Oui j'ai essayé d'autres critères sur le [code chepte] ou NomPersonne et ça
marche avec eux aussi. J'ai l'impression que le fait d'avoir comme seul
critère ((([Code cheptel appelés cotise].[Code cheptel]) Is Null)) pose
problème. Mais ce n'est qu'une impression.



Si je comprends bien, la seule différence est celle-ci :
AND ((Left([ADRESSE tous cheptels].[Nuchep],2))='12' Or (Left([ADRESSE tous
cheptels].[Nuchep],2))='86')

As-tu essayé avec d'autres critères ?



1 2