Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2052 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Resolu] Souci fusion automatisee en VBA sous word

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] Souci fusion automatisee en VBA sous word

n°1436720
betsamee
Asterisk Zeperyl
Posté le 05-09-2006 à 13:19:44  profilanswer
 

Bonjour a tous
J'ai fait une petite macro(autoopen) (dont voici le code) :
 

Code :
  1. 'construction de chfusion qui est le path du fichier source
  2. ActiveDocument.MailMerge.OpenDataSource Name:= _
  3.         chfusion, ConfirmConversions _
  4.         :=False, ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
  5.         PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
  6.         WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
  7.         Connection:="", SQLStatement:="", SQLStatement1:="", SubType:= _
  8.         wdMergeSubTypeOther
  9.     ActiveDocument.MailMerge.Execute


 
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).
 
http://img224.imageshack.us/img224/8470/untitledoe7.png
 
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 :jap:


Message édité par betsamee le 06-09-2006 à 11:40:40
mood
Publicité
Posté le 05-09-2006 à 13:19:44  profilanswer
 

n°1436824
seniorpapo​u
Posté le 05-09-2006 à 15:04:11  profilanswer
 

Bonsoir,
sans garantie essayes:
Application.DisplayAlerts = wdAlertsNone
avant
et
Application.DisplayAlerts = wdAlertsAll
à la fin
ordialement

n°1436840
betsamee
Asterisk Zeperyl
Posté le 05-09-2006 à 15:19:23  profilanswer
 

merci de ta contribution
j'avais essaye ceci sans succes malheureusement :jap:

n°1436884
seniorpapo​u
Posté le 05-09-2006 à 16:05:00  profilanswer
 

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
 

n°1436960
betsamee
Asterisk Zeperyl
Posté le 05-09-2006 à 17:22:27  profilanswer
 

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

n°1436998
seniorpapo​u
Posté le 05-09-2006 à 17:55:53  profilanswer
 

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

n°1437012
betsamee
Asterisk Zeperyl
Posté le 05-09-2006 à 18:13:27  profilanswer
 

oui j ai egalement essaye cette methode , sans succes malheureusement

n°1437285
JihemAir
Je sais pas
Posté le 06-09-2006 à 08:05:00  profilanswer
 

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.
 


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°1437294
betsamee
Asterisk Zeperyl
Posté le 06-09-2006 à 08:51:11  profilanswer
 

JihemAir a écrit :

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.


c'est egalement la conclusion a laquelle j'etais arrive avant de generer le meme fichier sous windows et de rencontrer le meme souci :-(

n°1437371
seniorpapo​u
Posté le 06-09-2006 à 10:10:32  profilanswer
 

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


Message édité par seniorpapou le 06-09-2006 à 10:11:15
mood
Publicité
Posté le 06-09-2006 à 10:10:32  profilanswer
 

n°1437409
betsamee
Asterisk Zeperyl
Posté le 06-09-2006 à 10:22:08  profilanswer
 

en voici un:
EDIT:oups, serveur de hosting de merde
ou je peux trouver un bon service pour heberger mes fichiers?
merci :jap:


Message édité par betsamee le 06-09-2006 à 10:23:12
n°1437435
seniorpapo​u
Posté le 06-09-2006 à 10:37:15  profilanswer
 

Re,
trouvé sur ce forum  
http://cjoint.com
limité, (dans le temps et l'espace) mais pratique.

n°1437440
betsamee
Asterisk Zeperyl
Posté le 06-09-2006 à 10:40:08  profilanswer
 

excellent
voici le fichier
http://cjoint.com/?jgkNWc0OUl

n°1437496
betsamee
Asterisk Zeperyl
Posté le 06-09-2006 à 11:40:12  profilanswer
 

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 :jap:  
 
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

n°1437532
seniorpapo​u
Posté le 06-09-2006 à 12:31:11  profilanswer
 

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"?
@+

n°1437544
betsamee
Asterisk Zeperyl
Posté le 06-09-2006 à 12:53:56  profilanswer
 

seniorpapou a écrit :

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"?
@+


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?


Message édité par betsamee le 06-09-2006 à 13:02:32
n°1437554
seniorpapo​u
Posté le 06-09-2006 à 13:12:35  profilanswer
 

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

n°1437560
betsamee
Asterisk Zeperyl
Posté le 06-09-2006 à 13:25:36  profilanswer
 

merci de ton aide je vais voir ce que ca donne

n°1438745
betsamee
Asterisk Zeperyl
Posté le 07-09-2006 à 22:16:02  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Resolu] Souci fusion automatisee en VBA sous word

 

Sujets relatifs
Appeler une macro Word en C#[Resolu][C#.NET] XML -> Un lire des noeuds un après l'autre ?
Affichage barre d'outil access avec VBA[Delphi] utiliser des TEdit comme des tableaux edit[var].text [Résolu]
[VBA] trouver le premier jour d'une anneeWord raccourci clavier
[Résolu] Macro supprimer une colonne[RESOLU] Flash : Alignement en 1er plan d'une animation
[Delphi] problème MDI + Base de données + ListBox [Résolu][Resolu][DataGridView] Action quand on change la valeur d'une CheckBox
Plus de sujets relatifs à : [Resolu] Souci fusion automatisee en VBA sous word


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR