Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Numérotation des révisions incrémentée

43 réponses
Avatar
C15
Bonjour à tous, bonjour à toutes (dont Circé bien sûr)

J'ai un document avec un en-tête dans lequel j'ai un
tableau avec REV 0 dans une cellule et nov 09 dans une autre.

Est-il possible que lorsque je modifie ce document
le mois correspondant à la date de révision s'affiche (par exemple déc 09)
le numéro de la révision change (REV 1) ?

Merci de votre aide.

A+

C15

10 réponses

1 2 3 4 5
Avatar
Geo
Re

Pour ne pas devoir sortir une nouvelle édition du document lorsque l'on déborde sur une
autre page, on ajoute une page
35.1
35.2
et sur 35.2, on signale qu'elle est restée blanche intentionnellement.



Et une pagination comme ça en Word ce n'est pas du gâteau, mais avec un
peu d'imagination ...

J'ai déjà vu des documents où les amendements ou suppléments ne sont pas répertoriés
dans le document mais sont de couleur différente, c'est génial, tu peut repérer les
nouvelles pages,



oui mais, soit ils utilisent des couleurs différentes à chaque
évolution, soit ils tirent une deuxième fois les pages modifiées
précédemment sur du papier blanc.

Mais bon ça aussi ça me parait faisable en vba avec des choix de bacs
selon la page à imprimer.

mais en aucun cas savoir tu les as toutes.
C'est un cirque pour savoir si le document est à jour.



S'ils ne font pas de nomenclature des mises à jour c'est problématique
en effet.

--
A+
Avatar
C15
Bonjour,

Voilà...
http://cjoint.com/?mhgnfJn8GE

Bonne journée

A+

C15



Geo a écrit :
Bonjour

J'ai un document avec un en-tête dans lequel j'ai un
tableau avec REV 0 dans une cellule et nov 09 dans une autre.



Vous pourriez mettre une copie de cet en-tête sur www.cjoint.com ?
en masquant le nom de la société, du matériel etc., pour voir comment
retrouver ces données de révision et de date ?



Avatar
Geo
Bonsoir

[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Le résultat :
http://cjoint.com/?mhq0UeBac1

C'est un module complet.
Pour une raison que je ne m'explique pas l'option explicit n'a pas
l'air d'être prise en compte, j'espère qu'il n'y a pas d'erreurs.
J'ai laissé tout ce qui m'a servi à la mise au point, on peut donc
faire un peu de ménage, j'ai gardé aussi de nombreux résultats
intermédiaires; les formules sont plus simples et c'est plus facile à
suivre en pas à pas.

Une macro permet de positionner des signets sur les numéros de
révisions quelque soit le nombre de sections au sens Word.
Une autre pour les dates, on peut s'en passer, il va faut nettoyer le
code ailleurs.

Une macro permet de vérifier que le document est conforme à ce qu'on
attend :
un signet date, un signet révision, une page par section, pas de
révisions du contenu en cours.
ceci dit j'ai testé avec un document contenant plusieurs pages par
section, ça suppose de le prévoir mais ça fonctionne bien.

Une macro à placer à l'ouverture du document, elle a surtout pour rôle
d'activer le mode suivi des révisions.
Si on veut les voir à l'écran il y a une valeur à changer.
Il ne faut surtout pas accepter les révisions à la main, tout le
raisonnement est basé dessus.

Une macro à placer à la fermeture, c'est là que tout se passe.
Deux documents dérivés sont générés :
Un premier indique le nombre de modifications par section (= page) et
la ligne de paramétrage que vous pourrez recopier telle quelle pour
imprimer les pages modifiées.
Suite aux remarques d'Olivier, un deuxième document indique l'état du
document : pour chaque section la version en cours et pour celles qui
viennent d'être modifiées : le numéro (évident, c'est la version -1) et
la date de cette version.

Je n'ai pas du tout envisagé d'interrompre les modifications,
enregistrer le document et reprendre plus tard.
Idem si la macro se plante, ça m'étonnerait que ça se passe bien
ensuite.

Bon courage.

--
A+
Avatar
C15
Bonjour Geo

Merci de ce travail impressionnant.

J'ai presque honte d'avoir posé ma question, car je ne pensais pas que
l'on soit obligé d'en arriver là.
Après tout ma question était relativement simple "Je modifie une partie
d'un document, comment connaitre les parties révisées ?"

Je vais tester cela très rapidement.

Je suppose que ce module est à mettre dans chacune des sections de la
documentation avion

Un éclaircissement :
>>>
pas de révisions du contenu en cours..
>>>

Cela beut dire quoi ?

Merci encore.

A+


C15


Geo a écrit :
Bonsoir

[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Le résultat :
http://cjoint.com/?mhq0UeBac1

C'est un module complet.
Pour une raison que je ne m'explique pas l'option explicit n'a pas l'air
d'être prise en compte, j'espère qu'il n'y a pas d'erreurs.
J'ai laissé tout ce qui m'a servi à la mise au point, on peut donc faire
un peu de ménage, j'ai gardé aussi de nombreux résultats intermédiaires;
les formules sont plus simples et c'est plus facile à suivre en pas à pas.

Une macro permet de positionner des signets sur les numéros de révisions
quelque soit le nombre de sections au sens Word.
Une autre pour les dates, on peut s'en passer, il va faut nettoyer le
code ailleurs.

Une macro permet de vérifier que le document est conforme à ce qu'on
attend :
un signet date, un signet révision, une page par section, pas de
révisions du contenu en cours.
ceci dit j'ai testé avec un document contenant plusieurs pages par
section, ça suppose de le prévoir mais ça fonctionne bien.

Une macro à placer à l'ouverture du document, elle a surtout pour rôle
d'activer le mode suivi des révisions.
Si on veut les voir à l'écran il y a une valeur à changer.
Il ne faut surtout pas accepter les révisions à la main, tout le
raisonnement est basé dessus.

Une macro à placer à la fermeture, c'est là que tout se passe.
Deux documents dérivés sont générés :
Un premier indique le nombre de modifications par section (= page) et la
ligne de paramétrage que vous pourrez recopier telle quelle pour
imprimer les pages modifiées.
Suite aux remarques d'Olivier, un deuxième document indique l'état du
document : pour chaque section la version en cours et pour celles qui
viennent d'être modifiées : le numéro (évident, c'est la version -1) et
la date de cette version.

Je n'ai pas du tout envisagé d'interrompre les modifications,
enregistrer le document et reprendre plus tard.
Idem si la macro se plante, ça m'étonnerait que ça se passe bien ensuite.

Bon courage.



Avatar
Geo
Bonjour

Après tout ma question était relativement simple "Je modifie une partie d'un document,
comment connaitre les parties révisées ?"



On sait visuellement où les modifications ont été faites, il suffit
pour cela d'utiliser les suivi des modifications. Word garde alors la
trace de tout ce qui est fait : ajout de texte, suppressions,
changement de présentation etc, avec le nom des auteurs et la date.
C'est là-dessus que je me suis basé.
Votre question impliquait l'obtention d'indications de synthèse sur ces
modifications, et ça, il n'y a pas en standard dans Word, mais le vba
permet justement.
Le sujet est intéressant, et construire une solution fait partie du
plaisir du programmeur.

Je suppose que ce module est à mettre dans chacune des sections de la documentation
avion



Je ne conseillerais pas cette solution, car s'il faut un jour modifier
du code (ou les supprimer) il faudra le faire partout.
Faites un modèle spécifique pour ces documents, mais il doit bien en
exister un déjà et mettez le module dans le modèle.
Si vous êtes avec Word 2007, mettez le modèle dans un emplacement
approuvé, ça vous évitera des messages d'alerte sur la sécurité.

Un éclaircissement :
>>>
pas de révisions du contenu en cours..
>>>

Cela beut dire quoi ?



Mauvais vocabulaire : modifications, voir ci-dessus pour l'explication.

--
A+
Avatar
C15
Bonsoir,

J'ai essayé ton projet, mais je n'ai pas transformé l'essai (on en
revient à SC) car 3 choses m'échappent.
Dans mes en-têtes j'avais REV X où X était le champ RevNum (N° de la
révision du document).
Je suppose qu'il faut que je les vire ; faut-il aussi supprimer REV. ou
sont-ils créés par la macro PoserSignetsRévisions ?
Le même chose pour la date (où j'ai mis le champ SaveDate).

Comment déclencher les macros autres que AutoOpen et AutoClose ?

Par ailleurs je n'ai pas eu le message "Traitez toutes les
révisions..." de la macro AutoOpen.

Merci de ton aide.

A+

C15


Geo a écrit :
Bonjour

Après tout ma question était relativement simple "Je modifie une
partie d'un document, comment connaitre les parties révisées ?"



On sait visuellement où les modifications ont été faites, il suffit pour
cela d'utiliser les suivi des modifications. Word garde alors la trace
de tout ce qui est fait : ajout de texte, suppressions, changement de
présentation etc, avec le nom des auteurs et la date.
C'est là-dessus que je me suis basé.
Votre question impliquait l'obtention d'indications de synthèse sur ces
modifications, et ça, il n'y a pas en standard dans Word, mais le vba
permet justement.
Le sujet est intéressant, et construire une solution fait partie du
plaisir du programmeur.

Je suppose que ce module est à mettre dans chacune des sections de la
documentation avion



Je ne conseillerais pas cette solution, car s'il faut un jour modifier
du code (ou les supprimer) il faudra le faire partout.
Faites un modèle spécifique pour ces documents, mais il doit bien en
exister un déjà et mettez le module dans le modèle.
Si vous êtes avec Word 2007, mettez le modèle dans un emplacement
approuvé, ça vous évitera des messages d'alerte sur la sécurité.

Un éclaircissement :
>>>
pas de révisions du contenu en cours..
>>>

Cela beut dire quoi ?



Mauvais vocabulaire : modifications, voir ci-dessus pour l'explication.



Avatar
Geo
Bonjour

Je suppose qu'il faut que je les vire ; faut-il aussi supprimer REV. ou sont-ils créés
par la macro PoserSignetsRévisions ?



Ça marche tout seul, c'est le but de cette macro.
Le signet est posé par la macro.
A la première modification de la section, le champ est remplacé par du
texte, qui lui même sera remplacé etc.
J'ai utilisé votre exemple pour faire mes essais.

Le même chose pour la date (où j'ai mis le champ SaveDate).



Idem, mais un problème avec le SaveDate, c'est qu'il modifie la date
dans toutes les pages. Or je n'ai prévu de changer la date que pour les
pages modifiées.
Il y a donc une erreur d'un côté ou l'autre, si c'est du mien, je
rectifierai.

Comment déclencher les macros autres que AutoOpen et AutoClose ?



Le plus simple est d'ajouter des boutons, si c'est en version 2003, le
mieux est de faire une barre d'outils spécifique, si c'est 2007
ajoutez-les dans la barre de lancement rapide.
Éventuellement on pourrait les placer dans l'onglet Compléments, mais
autant attendre la version 2010 ce sera plus simple.
Si vous retenez la solution complète, faites une macro d'initialisation
qui appelle les deux macros de pose des signets, ou fusionnez-les, ça
ne sert à rien de lancer les deux macros séparément.

Par ailleurs je n'ai pas eu le message "Traitez toutes les révisions..." de la macro
AutoOpen.



C'est très bien

--
A+
Avatar
Geo
Re

Votre remarque sur les champs m'a permis de voir que je n'avais pas
traité ce cas jusqu'au bout.
Si vous enregistrez le document, la date des sections jamais modifiées
évoluera, en raison de la présence du champ SaveDate.
Il faut donc le supprimer au moment de la pose des signets date.

Dans cette macro, après la ligne :
Set Plage = h.Range.Tables(1).Cell(2, 3).Range
Ajoutez :
' Remplacer le contenu de la cellule par la valeur du champ
If Plage.Fields.Count > 0 Then
Plage.Text = Plage.Fields(1).Result
' Accepte la modification qui est matérialisée par deux révisions
For j = Plage.Revisions.Count To 1 Step -1
Plage.Revisions(j).Accept
Next j
End If

En essayant j'ai vu une erreur, quelques lignes plus bas :

Start doit être égale à Td et non Td +1, soit :

PlageS.SetRange Start:=Td, End:=Tf + 1 ' tout le contenu de la cellule

Bon tests.

--
A+
Avatar
C15
Bonsoir,

J'ai corrigé en fonction de ce que tu précises ici.
Pour info il m'a fallu déclarer j que Monsieur Vba ne connaissait pas ;-)
Je l'ai déclaré comme integer.

Cependant, et avant même ces modifs les test n'ont jamais marché.

Dans les en-têtes j'ai supprimé le contenu des cellules où il y avait
REV. et la date (mais cela ne marchait pas mieux avant).


Voilà comment je procède :

Je me mets dans une page (et par conséquent je suis dans une section).
Je fais une modif.
J'exécute les macros PoserSignetsRévisions et PoserSignetsDates par
Outils/Macro/Macro...
Rien ne se passe.
Je ferme le fichier en enregistrant les modifs.
Je le réouvre, rien ne se passe, je n'ai ni date ni N° de modification.

Peut-être suis-je devenu blonde, peut-être ai-je mal maitrisé le copier
coller de ton code dans un module...
Manifestement tes tests fonctionnent, sinon tu ne serais pas donné
autant de mal.

Je te joins le fichier
http://cjoint.com/?mjvcFg3Dpm
Tu trouveras certainement quelle C...j'ai faite.

Pour info je suis sous Word 2003.

Merci encore

A+

C15

Geo a écrit :
Re

Votre remarque sur les champs m'a permis de voir que je n'avais pas
traité ce cas jusqu'au bout.
Si vous enregistrez le document, la date des sections jamais modifiées
évoluera, en raison de la présence du champ SaveDate.
Il faut donc le supprimer au moment de la pose des signets date.

Dans cette macro, après la ligne :
Set Plage = h.Range.Tables(1).Cell(2, 3).Range
Ajoutez :
' Remplacer le contenu de la cellule par la valeur du champ
If Plage.Fields.Count > 0 Then
Plage.Text = Plage.Fields(1).Result
' Accepte la modification qui est matérialisée par deux révisions
For j = Plage.Revisions.Count To 1 Step -1
Plage.Revisions(j).Accept
Next j
End If

En essayant j'ai vu une erreur, quelques lignes plus bas :

Start doit être égale à Td et non Td +1, soit :

PlageS.SetRange Start:=Td, End:=Tf + 1 ' tout le contenu de la cellule

Bon tests.



Avatar
Geo
Bonjour

Pour info il m'a fallu déclarer j que Monsieur Vba ne connaissait pas ;-)
Je l'ai déclaré comme integer.



très bien, j'ai oublié en effet de recopier la ligne.

Dans les en-têtes j'ai supprimé le contenu des cellules où il y avait REV. et la date



Faut pas, gardez les en-têtes tels que vous me les avez envoyés.

Voilà comment je procède :



Je me mets dans une page (et par conséquent je suis dans une section).
Je fais une modif.
J'exécute les macros PoserSignetsRévisions et PoserSignetsDates par
Outils/Macro/Macro...
Rien ne se passe.



Je n'ai pas du être clair, il faut passer les macros pour poser les
signets une seule fois avant toute chose.
Cela met les infos nécessaires pour la gestion des versions.

Passer la macro de vérification pour s'assurer que tout est en ordre.
On peut le faire de temps à autre par mesure de précaution.

En gestion courante,
- si les macros n'ont pas été renommées en Auto Open et auto close,
Ouvrir le document, lancer la macro d'ouverture.
faire les modifications.
Lancer la macro de fermeture : on voit les dates et les numéros de
version évoluer.
Fermer le document et accepter l'enregistrement.

- si les macros ont été renommées en Auto Open et auto close,
Ouvrir le document,
faire les modifications.
Fermer le document et accepter l'enregistrement.
A l'ouverture suivante on en voit les effets.

Je te joins le fichier



Je regarde

Pour info je suis sous Word 2003.



Précision utile.

--
A+
1 2 3 4 5