Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word
Word Forum d'entraide sur le traitement de texte Microsoft Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/09/2007, 13h26   #1
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Par défaut [Word 2000] Mise à jour automatique d'un champ

Salut à tous,
Je suis sous word 2003 et je dois suivre "l'évolution" de plusieurs documents. J'ai mis un champ contenant date/heure et version sur ces documents sous la forme :
yyyymmddhhmm - v14

Comment faire pour que ce champ se mette à jour tout seul lors de l'enregistrement du document (cad si il y a eu une modif).
La date devrait prendre celle du jour et la version faire un +1

Un doc avec le champ 200705041245 - v14
si ce document est modifié et enregistré le 05 Sept à 15h12 alors il faudrait que le champ devienne :
200709051512 - v15

Merci si vous avez une solution.
Amicalement
Fred
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 15h02   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Tu peux stocker cette valeur dans variable du document, faire une incrémentation.

Code :
1
2
3
4
5
6
7
8
9
10
Sub VariableTest()
Dim myVersion As Integer
 
 
If ActiveDocument.Variables.Count = 0 Then ActiveDocument.Variables.Add "myvers", 0
myVersion = ActiveDocument.Variables("myvers").Value
myVersion = myVersion + 1
ActiveDocument.Variables("myvers").Value = myVersion
Debug.Print ActiveDocument.Variables("myvers").Value
End Sub
Pour la date de la dernière sauvegarde, elle se trouve dans les propriétés du document.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 13h16   #3
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Salut et merci,
Je vais tester pour la variable de version.

Mais concernant la date et l'heure est t'il possible de la rajouter dans le champ tel que je pensais la mettre ou pas?

Elles n'apparaitrons pas sur le document que je dois imprimer. Ce champ nous servira lorsque il y aura des "ajouts" afin de savoir si le document en notre possession est à jour ou pas, c'est pour cela que j'avais pensé au format date - version pour le champ ( qui sera imprimé avec le document)
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 13h20   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Rien ne t'empêche de mettre une variable en plus pour la date.

On peut utiliser plusieurs variables de document.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 15h40   #5
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
RE..
Problème!!!
J'ai créé un champ VariableDoc avec le nom myvers,
j'ai copié ton code.

1ere question : Le champ ne se met pas à jour
2/ Sur quel action copier le code car je voudrais qu'il se mette à jour sur ENREGISTREMENT du document ou lorsque l'utilisateur le ferme et réponde oui à sauvegarder les modif,
3/ Rien n'apparait dans le champ, c'est vierge à l'affichage (sauf si je suis en 'Basculer en codes de champ')

merci de ton aide car VB sur Word dur dur pour moi

PS : capture1 = Boite d'insertion du champ
capture2 = Feuille ou théoriquement le champ apparait
capture3 = Le code

AMicalement
Fred
Images attachées
Type de fichier : png capture1.png (11,3 Ko, 5 affichages)
Type de fichier : png capture2.png (7,2 Ko, 3 affichages)
Type de fichier : png capture3.png (53,8 Ko, 4 affichages)
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 17h03   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Essaie de faire F9 avant de basculer les code de champ.

Je viens de refaire la manip pour être sûr et ça fonctionne.

Pour l'évènement, je te laisse choisir dans la liste.
Word peut détecter certains évènements et y réagir.

Regarde là :FAQ

J'ai mis en fichier joint un fichier avec une variable alimentée en VBA et affichée dans le document au départ d'un champ.
Le fichier est un .doc, mais ça fonctionne aussi en .docx
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 17h37   #7
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Je viens de charger ton fichier et effectivement l'incrémentation se fait si par ex je mets le code dans document_Open, mais :

1/ il faut obligatoirement faire F9 pour actualiser l'affichage
2/ Mon souci est de faire faire l'incrémentation que si il y à eu modif et enregistrement du doc.
Sur le lien que tu m'a donné rien n'existe dans ce sens, il y à AutoClose, AutoExit, Document_Close, mais que le doc soit modifé ou pas l'incrémentation est faites.
Dur dur, mais, merci déjà pour le champ.
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2007, 21h15   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Essaie le champ { REVNUM }, je pense que c'est ce que tu cherches.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 03h52   #9
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Salut,
Alors je viens de regarder REVNUM, d'après la doc effectivement il insère le nombre de fois où le document à été enregistré mais :
Dans le cas (par ex) ou cette valeur est égal à 1 :

1/ j'ouvre le document et je l'imprime, alors la version du document à l'impression sera bien 1 -> CORRECT

2/ j'ouvre le document, je fais une modif de texte et j'imprime. Alors là, la valeur est toujours à 1 car il faut un F9 pour actualiser la champ alors que la vrai version imprimée devrait être 2 -> NON CORRECT

3/ j'ouvre le document, je fais F9 alors là, la valeur est incrémentée, je ferme et là j'ai la boite de dialogue "Voulez vous enregistrer les modifications...." alors que je n'ai fais aucune modif sur le texte. -> NON CORRECT

Bref c'est la panique totale.
Je continu de fouiller mais sans grande conviction, merci A+
Fred
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 09h31   #10
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Sur ouverture du document, il faut mettre ce code :
Code :
1
2
3
4
5
6
 
Dim fld as Field
For Each fld in ActiveDocument.fields
fld.select
Selection.Fields.Update
next fld
Tu auras la mise à jour des champs.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 17h27   #11
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Salut,
Merci Heureux-oli, j'ai rajouté le code sur l'ouverture du document et c'est ok, le champ se met à jour automatiquement lors de l'ouverture.
Par contre cette mise à jour est considéré comme une modification donc lors de la fermeture Word demande si on veut enregistrer ou pas. Si j'enregistre alors l'incrémentation est faite alors que je n'est fait aucune modif sur le document

Est t'il possible que si le seul changement dans le doc c'est le champ alors pas de demande d'enregistrement sinon effectivement demande d'enregistrement.
Fred
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 22h01   #12
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Tu exagères !!

tu peux sur l'évènement fermeture du document, ne pas sauvegarder, mais dans ce cas, il ne va pas poser la question si changement il y a.

Autre possibilité, mettre le champ à jour avant la sauvegarde.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 12h23   #13
Membre du Club
 
Avatar de texas2607
 
Fred
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Nom : Fred
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 60
Points : 60
Oui je sais, j'exagère

mais je disais ca car je suis sur que certains vont ouvrir le doc, le lire et enregistrer à la demande et automatiquement le numéro de version sera faux et voire même il va prendre des proportions énormes si à chaque ouverture ils enregistrent.
__________________
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
texas2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h42.


 
 
 
 
Partenaires

Hébergement Web