Word & visual basic

Word & visual basic - VB/VBA/VBS - Programmation

Marsh Posté le 10-09-2010 à 11:02:28    

Bonjour à tous,
 
J'aimerais utiliser une marcro VB dans word pour faire un document word contenant plusieurs copies d'un autre document word.  
Pouvez-vous m'aider à trouver la procédure à effectuer ?
 
Merci
 
Kheops1982

Reply

Marsh Posté le 10-09-2010 à 11:02:28   

Reply

Marsh Posté le 10-09-2010 à 11:14:42    

peut être pourrais tu être plus précis à propos de ta demande ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 10-09-2010 à 20:32:25    

Bonsoir,
 
Voici quelques précisions : Je dispose d'un document Word contenant un tableau avec en titre le jour (ex pour aujourd'hui : Vendredi 10 Septembre 2010). Le but de mon document serait de le créer pour l'année entière ou un nombre donné de mois ou jours. Donc c'est le même tableau mais à chaque nouvelle page du document word le titre change en augmentant le jour et par conséquent le mois quand on change de mois.  
Je voulais donc créer une marco VB pour éviter le travail fastidieux du copier coller et du changement de nom et ainsi faire cela de manière automatique.  
Donc j'ai ma page maître avec mon tableau et mon titre représentant une date. Et par une marco, je voudrais créer un nouveau document avec si on choisi de le faire par année : 365 pages avec le même tableau mais le titre allant (reprenons mon exemple ) du Vendredi 10 septembre 2010 au Samedi 10 septembre 2011.  
Pour infos, je travaille sous Word 2007.
 
Merci
 
@+

Reply

Marsh Posté le 13-09-2010 à 12:50:26    

Hello
 
Le plus "simple" c'est de passer par les code de champs.
On prend une date, auquelle on rajoute le numéro de la page.
 
Pour créér un champ on utilise Ctrl + F9
Exemple :  
- Faire Ctrl + F9      (Des accolades apparaissent)
- Saisir entre les accolades, en prenant soin de laisser un espace avant et un espace apres : = 5 + 1
- Ca donne donc ; { = 5 + 1 }
- On click droit dessus, et on click sur "Mettre a jour les champs"
- Word nous renvoit : 6
 
Autre exemple :  
- - Faire Ctrl + F9      (Des accolades apparaissent)
- Saisir entre les accolades, en prenant soin de laisser un espace avant et un espace apres : PAGE
- Ca donne donc ; { PAGE }
- Word nous renvoit le numéro de page
 
Donc :
- Faire Ctrl + F9      (Des accolades apparaissent)
- Saisir =
- Refaire Ctrl + F9
- Saisir PAGE  
- Apres la derniere accolade saisir + 1
- Ca donne donc : { = { PAGE } + 1 }
Si on copie ceci en page 5, Word nous renvoit 6 etc
 
Voici la formule pour calculer la date du jour + le numéro de page sur lequel est le champ.
 
Donc si nous sommes le 13/09/2010, en page 1 il mettra 14/09/2010 et en page 5 il mettra 18/09/2010 etc.
 

Code :
  1. {QUOTE {SET d{Date \@ d}} {SET m{Date \@ MM}} {SET y{Date \@ yyyy}} {SET Delai { PAGE } } {SET jd{=INT(365,25*(y+4799+INT((m+10)/12)))+ INT(367/12*MOD(m+10;12))- INT(3*INT((y+4901+INT((m+10)/12))/100)/4)+ d-32075+Delai}} {SET c{=jd+68569-INT(36524,25* INT((jd+68569)/36524,25)+0,75)}} {SET f{=c-INT(365,25*INT((c+1)/365,25025))+31}} {SET dd{=f-INT(30,58757*INT(f/30,58757))}} {SET mm"{=INT(f/30,58757)+2-12* INT(INT(f/30,58757)/11)}/00"} {SET yy{=100*(INT((jd+68569)/36524,25)-49)+INT((c+1)/365,25025)+INT(INT(f/30,58757)/11)}} {dd}"/"{mm \@ MM}"/"{yy}}


 
Si tu as besoin de plus d'aide n'hesite pas, les codes de champ c'est pas simple.


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed