Souci fusion automatisee en VBA sous word [Resolu] - VB/VBA/VBS - Programmation
Marsh Posté le 05-09-2006 à 15:04:11
Bonsoir,
sans garantie essayes:
Application.DisplayAlerts = wdAlertsNone
avant
et
Application.DisplayAlerts = wdAlertsAll
à la fin
ordialement
Marsh Posté le 05-09-2006 à 15:19:23
merci de ta contribution
j'avais essaye ceci sans succes malheureusement
Marsh Posté le 05-09-2006 à 16:05:00
Re,
J'ai testé ta séquence, avec un csv, la question ne m'est pas posée, as-tu cherché du côté de la structure de ton csv? il vient d'où? créé par quoi?
Cordialement
Marsh Posté le 05-09-2006 à 17:22:27
tout d'abord merci de t interesser a mon souci
mon csv est genere pas un script php (sous linux) est depose sur un repertoire partage via samba
ce qui est marrant c'est que pour le meme fichier csv un doc fusionne (avec la meme macro autoopen) va m'ouvrir le dialog et un autre non , ce souci est assez curieux
Marsh Posté le 05-09-2006 à 17:55:53
Bonsoir,
Je crois bien que cela va sortir de mon domaine.
juste une dernière question:
as-tu essayé de réenregistrer une macro complète de fusion avec ces éléments là, tu pourrais peut-être y retrouver des infos qui te permettent de contourner?
Cordialement
Marsh Posté le 05-09-2006 à 18:13:27
oui j ai egalement essaye cette methode , sans succes malheureusement
Marsh Posté le 06-09-2006 à 08:05:00
Bonjour,
Je pense que le fichier généré sous Linux est au format UNIX. Les caractères de fin de lignes sont différents des fichiers générés sous Windows qui sont au format ANSI. Il suffit, pour le savoir, d'ouvrir le fichier incriminé dans un éditeur de texte digne de ce nom (Notepad++, Textpad, PSPad...).
Lors de l'importation, Word détecte le type du format et demande comment il doit réencoder le texte.
Marsh Posté le 06-09-2006 à 08:51:11
JihemAir a écrit : Bonjour, |
c'est egalement la conclusion a laquelle j'etais arrive avant de generer le meme fichier sous windows et de rencontrer le meme souci :-(
Marsh Posté le 06-09-2006 à 10:10:32
Bonjour,
Bien sûr tu ne peux pas envoyer un fichier qui te fais ce pb? même avec des données bidons?
Je suis sur windows XP home
Cordialement
Marsh Posté le 06-09-2006 à 10:22:08
en voici un:
EDIT:oups, serveur de hosting de merde
ou je peux trouver un bon service pour heberger mes fichiers?
merci
Marsh Posté le 06-09-2006 à 10:37:15
Re,
trouvé sur ce forum
http://cjoint.com
limité, (dans le temps et l'espace) mais pratique.
Marsh Posté le 06-09-2006 à 11:40:12
Resolu : je suis un connard
J'avais integre ma requete autoopen a un document de fusion que j'avais cree au prealable, ce qui fait que la premiere source de donnees (et pas celle construite par le VBA) restait enregistree dans l'entete du document , ce qui le rendait completement ouf.
En gros, en faisant "supprimer les entetes" le probleme a disparu,vu que a present , seul le code VBA est pris en compte pour la fusion a louverture du document
merci a tous ceux qui se sont casses la tete
enseignements a tirer de ceci:
- un document de fusion garde ses infos de fusions originelles dans une table interne a Word(et meme le chemin de la source), ce qui est normal en soit
- Le format a adopter dans la commande OpenDataSource est wdOpenFormatTex pour les fichiers sources de type texte
Marsh Posté le 06-09-2006 à 12:31:11
Bonjour,
dans ce cas là, c'est le caractère qui précède "Rue" qui sème le désordre. même en contournant (j'ai alimenté le csv sans pb sous un word et indiqué ce word comme source de données) le R de rue devient un beau caractère chinois. Je suppose que la source ne peut être corrigée à la "source"?
@+
Marsh Posté le 06-09-2006 à 12:53:56
seniorpapou a écrit : Bonjour, |
elle peut tout a fait l'etre je gere egalement la bdd qui alimente des fichiers
penses tu qu il y a un souci d encodage?
Marsh Posté le 06-09-2006 à 13:12:35
Je pense que oui, j'ai contourné par une bidouille qui va scandaliser tous les informaticiens: ouverture du csv sous un word format unicode:
Documents.Open FileName:=chfusion, ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatUnicodeText, Encoding:=1252
(avec un réserve sur encoding mais cela fonctionne)
Ecriture dans un fichier texte et là tu peux ouvrir sans questions
Application.DisplayAlerts = wdAlertsNone
ActiveDocument.SaveAs FileName:="jgkNWc0OUl_BSCiel4.txt", FileFormat:= _
wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, Encoding:=1252, InsertLineBreaks:=False, AllowSubstitutions:=False _
, LineEnding:=wdCRLF
Application.DisplayAlerts = wdAlertsAll
si c'est ok tu dois pouvoir coller cela dans ta macro
mais cela n'est pas élégant!!!
par contre si tu peux voir pourquoi il y a un caractère spécial devant le R ce serait mieux.
Cordialement
Marsh Posté le 07-09-2006 à 22:16:02
merci seniorpapou mon souci est resolu (encodage des la generation du fichier txt) et je n ai plus aucun message durant l'ouverture de la macro autoopen contenant la fusion
Marsh Posté le 05-09-2006 à 13:19:44
Bonjour a tous
J'ai fait une petite macro(autoopen) (dont voici le code) :
pour fusionner automatiquement un document avec un fichier source .csv.Le chemin du fichier source est construit de maniere dynamique dans la macro.
Tout marche bien j'ai juste un petit souci,je ne sait pas comment empecher l'apparition de la fenetre suivante lors de l'ouverture du document (chose qui evidemment n existe pas lors de la fusion depuis une bdd).
C'est assez facheux puisque cela force l utilisateur a valider, chose qu'il me faut absolument eviter.
Donc en gros je cherche le moyen de ne pas faire apparaitre cette fenetre (qui revient en fait a lui faire choisir les options par defaut)
Merci de votre aide
Message édité par betsamee le 06-09-2006 à 11:40:40