OVH Cloud OVH Cloud

TransferSpreadSheet - Export XLS

7 réponses
Avatar
nicodemus
Bonjour a tous,


j'utilise Win2000, Office2000.

J'essaye d'exporter un table Access vers Excel en utilisant la methode
'transferspreadsheet".
Tout se passe bien si ce n'est les decimales et les champs texte.

Par exemple:
Champ "Total" (taille champ : reel simple)
Champ "Pays" (taille champ : texte)

Apres export vers Excel:
1) "Total" contient des decimales comme 0.899999976158142 au lieu de 0.9
2) "Pays" : toutes les cellules commencent par une apostrophe (ex : 'France)

Comment faire pour obtenir des decimales sensees et eviter cette apostrophe
dans les champs texte ?

D'avance merci pour toute l'aide que vous pourrez m'apporter.

7 réponses

Avatar
Raymond [mvp]
Bonjour.

pour les décimales, tu seras obligé de passer par une requête et utiliser la
fonction Format pour chaque champ numérique avec décimales.
pour l'apostrophe, si je me souviens bien, c'est excel qui le met pour
indiquer que c'est un littéral alphanumérique. Normalement ce caractère ne
doit pas apparaître dans les cellules mais seulement dans le champ de
modification. quelle est la version excel que tu indiques dans l'export et
quelle est la version d'excel lui-même ? ça peut venir de là.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
Bonjour a tous,


j'utilise Win2000, Office2000.

J'essaye d'exporter un table Access vers Excel en utilisant la methode
'transferspreadsheet".
Tout se passe bien si ce n'est les decimales et les champs texte.

Par exemple:
Champ "Total" (taille champ : reel simple)
Champ "Pays" (taille champ : texte)

Apres export vers Excel:
1) "Total" contient des decimales comme 0.899999976158142 au lieu de 0.9
2) "Pays" : toutes les cellules commencent par une apostrophe (ex :
'France)


Comment faire pour obtenir des decimales sensees et eviter cette
apostrophe

dans les champs texte ?

D'avance merci pour toute l'aide que vous pourrez m'apporter.


Avatar
nicodemus
Bonjour Raymond,

merci pour la rapidite de ta reponse.

La version d'Excel que j'utilise est : Excel 2000 (9.0.6926 SP-3)
Lorsque j'exporte d'Access2000 (9.0.6926 SP-3), j'indique
"acSpreadsheetTypeExcel9".

La fonction "Format" dans la requete marche parfaitement mais j'ai du
ajouter la fonction "Val" sans quoi le champ numerique comporte aussi une
apostrophe dans Excel !

L'apostrophe dans les champs alphanumériques pose un serieux probleme car
l'utilisateur final doit executer des RechercheV (vlookup) en Excel. Or, la
presence de cette apostrophe fausse les resultats !

En esperant qu'il y ait une solution,
Nicolas


Bonjour.

pour les décimales, tu seras obligé de passer par une requête et utiliser la
fonction Format pour chaque champ numérique avec décimales.
pour l'apostrophe, si je me souviens bien, c'est excel qui le met pour
indiquer que c'est un littéral alphanumérique. Normalement ce caractère ne
doit pas apparaître dans les cellules mais seulement dans le champ de
modification. quelle est la version excel que tu indiques dans l'export et
quelle est la version d'excel lui-même ? ça peut venir de là.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
Bonjour a tous,


j'utilise Win2000, Office2000.

J'essaye d'exporter un table Access vers Excel en utilisant la methode
'transferspreadsheet".
Tout se passe bien si ce n'est les decimales et les champs texte.

Par exemple:
Champ "Total" (taille champ : reel simple)
Champ "Pays" (taille champ : texte)

Apres export vers Excel:
1) "Total" contient des decimales comme 0.899999976158142 au lieu de 0.9
2) "Pays" : toutes les cellules commencent par une apostrophe (ex :
'France)


Comment faire pour obtenir des decimales sensees et eviter cette
apostrophe

dans les champs texte ?

D'avance merci pour toute l'aide que vous pourrez m'apporter.







Avatar
Raymond [mvp]
je viens de vérifier en 2000 et 2002 sur mon poste.
j'ai bien la ' mais seulement en haut dans le champ modification, dans la
cellule je ne l'ai pas.
j'ai fait l'export par :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "table1",
"table1.xls", True
je ne me rappelle plus s'il y a un paramètre pour ça, ça m'étonnerait.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
Bonjour Raymond,

merci pour la rapidite de ta reponse.

La version d'Excel que j'utilise est : Excel 2000 (9.0.6926 SP-3)
Lorsque j'exporte d'Access2000 (9.0.6926 SP-3), j'indique
"acSpreadsheetTypeExcel9".

La fonction "Format" dans la requete marche parfaitement mais j'ai du
ajouter la fonction "Val" sans quoi le champ numerique comporte aussi une
apostrophe dans Excel !

L'apostrophe dans les champs alphanumériques pose un serieux probleme car
l'utilisateur final doit executer des RechercheV (vlookup) en Excel. Or,
la

presence de cette apostrophe fausse les resultats !

En esperant qu'il y ait une solution,
Nicolas


Avatar
nicodemus
c'est bien la que le bat blesse. En apparence les cellules contiennent des
valeurs "anodines", sans '. Mais une Vlookup executee sur ce genre de
donnees ne trouvera pas de correspondance entre les cellules uniquement a
cause de ce petit caractere de mort !

Je crains en effet qu'il n'y ait rien a faire pour solutionner ce prob.
C'est d'autant plus regrettable que la fonction OutputTo exporte une
requete/table parfaitement vers Excel, malheureusement celle-ci est limitee a
16.000 enregistrements.

Enfin, tant pis. En tout cas merci beaucoup pour ton temps et a la prochaine.
Nicolas


je viens de vérifier en 2000 et 2002 sur mon poste.
j'ai bien la ' mais seulement en haut dans le champ modification, dans la
cellule je ne l'ai pas.
j'ai fait l'export par :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "table1",
"table1.xls", True
je ne me rappelle plus s'il y a un paramètre pour ça, ça m'étonnerait.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
Bonjour Raymond,

merci pour la rapidite de ta reponse.

La version d'Excel que j'utilise est : Excel 2000 (9.0.6926 SP-3)
Lorsque j'exporte d'Access2000 (9.0.6926 SP-3), j'indique
"acSpreadsheetTypeExcel9".

La fonction "Format" dans la requete marche parfaitement mais j'ai du
ajouter la fonction "Val" sans quoi le champ numerique comporte aussi une
apostrophe dans Excel !

L'apostrophe dans les champs alphanumériques pose un serieux probleme car
l'utilisateur final doit executer des RechercheV (vlookup) en Excel. Or,
la

presence de cette apostrophe fausse les resultats !

En esperant qu'il y ait une solution,
Nicolas







Avatar
Raymond [mvp]
Je crains en effet qu'il n'y ait rien a faire pour solutionner ce prob.
C'est d'autant plus regrettable que la fonction OutputTo exporte une
requete/table parfaitement vers Excel, malheureusement celle-ci est
limitee a

16.000 enregistrements.
pourquoi ne pas passer par DoCmd.TransferSpreadsheet ?

vérifie l'option "ne pas afficher les listes dont le nombre d elignes est
supérieur à " et augmente le nombre. ça change ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
c'est bien la que le bat blesse. En apparence les cellules contiennent des
valeurs "anodines", sans '. Mais une Vlookup executee sur ce genre de
donnees ne trouvera pas de correspondance entre les cellules uniquement a
cause de ce petit caractere de mort !

Je crains en effet qu'il n'y ait rien a faire pour solutionner ce prob.
C'est d'autant plus regrettable que la fonction OutputTo exporte une
requete/table parfaitement vers Excel, malheureusement celle-ci est
limitee a

16.000 enregistrements.

Enfin, tant pis. En tout cas merci beaucoup pour ton temps et a la
prochaine.

Nicolas


Avatar
nicodemus
je passe deja par DoCmd.TransferSpreadsheet. Tu veux dire passer par
Docmd.OutputTo ?

Ou trouve-t-on l'option en question ? (je travaille sur une version anglaise
d'access)



Je crains en effet qu'il n'y ait rien a faire pour solutionner ce prob.
C'est d'autant plus regrettable que la fonction OutputTo exporte une
requete/table parfaitement vers Excel, malheureusement celle-ci est
limitee a

16.000 enregistrements.
pourquoi ne pas passer par DoCmd.TransferSpreadsheet ?

vérifie l'option "ne pas afficher les listes dont le nombre d elignes est
supérieur à " et augmente le nombre. ça change ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
c'est bien la que le bat blesse. En apparence les cellules contiennent des
valeurs "anodines", sans '. Mais une Vlookup executee sur ce genre de
donnees ne trouvera pas de correspondance entre les cellules uniquement a
cause de ce petit caractere de mort !

Je crains en effet qu'il n'y ait rien a faire pour solutionner ce prob.
C'est d'autant plus regrettable que la fonction OutputTo exporte une
requete/table parfaitement vers Excel, malheureusement celle-ci est
limitee a

16.000 enregistrements.

Enfin, tant pis. En tout cas merci beaucoup pour ton temps et a la
prochaine.

Nicolas







Avatar
Raymond [mvp]
vu que tu parlais de outputto je pensais que tu passais par là.

je pense qu'elle est au même endroit.
menu outils / options / onglet modifier rechercher

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"nicodemus" a écrit dans le message de
news:
je passe deja par DoCmd.TransferSpreadsheet. Tu veux dire passer par
Docmd.OutputTo ?

Ou trouve-t-on l'option en question ? (je travaille sur une version
anglaise

d'access)