bonjour
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Si cela peut aider, voici le code de la macro de la FAQ :(avec les N°
de lignes en plus pour que vous puissiez vous y référer au cas où)
1 Sub AutoNew ()
2 num > ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value
3 num = num + 1
4 ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value > num
5 Selection.TypeText Text:="Bon de commande No " & num
6 num = Right("0000" & num, 4)
7 SendKeys "o"
8 ActiveDocument.SaveAs FileName:="Bon de commande" & num & ".doc"
9 End Sub
Merci d'avance
Olivier
bonjour
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Si cela peut aider, voici le code de la macro de la FAQ :(avec les N°
de lignes en plus pour que vous puissiez vous y référer au cas où)
1 Sub AutoNew ()
2 num > ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value
3 num = num + 1
4 ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value > num
5 Selection.TypeText Text:="Bon de commande No " & num
6 num = Right("0000" & num, 4)
7 SendKeys "o"
8 ActiveDocument.SaveAs FileName:="Bon de commande" & num & ".doc"
9 End Sub
Merci d'avance
Olivier
bonjour
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Si cela peut aider, voici le code de la macro de la FAQ :(avec les N°
de lignes en plus pour que vous puissiez vous y référer au cas où)
1 Sub AutoNew ()
2 num > ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value
3 num = num + 1
4 ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value > num
5 Selection.TypeText Text:="Bon de commande No " & num
6 num = Right("0000" & num, 4)
7 SendKeys "o"
8 ActiveDocument.SaveAs FileName:="Bon de commande" & num & ".doc"
9 End Sub
Merci d'avance
Olivier
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Bonjour !
'' nous a écrit ...Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Circé la magicienne a parfaitement raison mais il est possible
que ça ne soit pas aussi simple qu'elle dit :-)
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle), il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
« Il y a trop de mou dans ce qui est dur
et trop de dur dans ce qui est mou. »
- Jean-Pierre CHEVENEMENT
Bonjour !
'olivier.lemaitre1@gmail.com' nous a écrit ...
Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Circé la magicienne a parfaitement raison mais il est possible
que ça ne soit pas aussi simple qu'elle dit :-)
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle), il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
« Il y a trop de mou dans ce qui est dur
et trop de dur dans ce qui est mou. »
- Jean-Pierre CHEVENEMENT
Bonjour !
'' nous a écrit ...Excusez moi de revenir sur un sujet régulièrement visité...
J'ai pu commencer à travailler avec les informations de la FAQ
http://faqword.free.fr/articles.php?lng=fr&pgc6
mais je n'arrive pas à faire exactement ce que je veux faire...
J'aimerais que le numéro incrémenté puisse par exemple s'afficher au
milieu d'un texte et en particulier dans un tableau,
Je pensais donc que le numéro incrémenté serait disponible dans un
champ à insérer mais je ne le retrouve pas.
Circé la magicienne a parfaitement raison mais il est possible
que ça ne soit pas aussi simple qu'elle dit :-)
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle), il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
« Il y a trop de mou dans ce qui est dur
et trop de dur dans ce qui est mou. »
- Jean-Pierre CHEVENEMENT
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
Cette macro conserve dans le modèle une insertion automatique (IA)
'Numéro' qui est incrémentée à chaque création d'un nouveau
document.
Si vous voulez inscrire le Numéro dans le document, nous
sommes d'accord, il suffit d'insérer l'IA Numéro
par exemple en écrivant Numéro{F3} ou éventuellement avec
un bouton comme a dit Circé. Le numéro du bon de commande
est inséré 'en dur' . Et c'est parfait.
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
il faut insérer
dans le modèle là où vous le voulez un _champ_ d'IA :
{ AUTOTEXT "Numéro" } et le mettre à jour à la
fin de sa macro AutoNew (ActiveDocument.Fields.Update)
C'est là que peut survenir un problème : ce champ est
un numéro 'mou' . Imaginons qu'on ouvre à nouveau le bon
de commande n°25 alors qu'on vient de créer le n°78.
À la première mise à jour des champs (à l'impression
par exemple) le bon n°25 va porter le n°78 !
Pour éviter ça il faut 'déchamper' ;-) le champ AUTOTEXT
sitôt après sa mise à jour et le mieux est de le
faire dès cette macro AutoNew avec une commande Unlink
Évidemment c'est un peu moins simple comme ça, mais revenez
si ce n'est pas assez clair.
Anacoluthe
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
Tout à fait !!
je me pose cependant une question (sans réponse) porquoi ne pourrions
nous pas avoir un champ qui se met à jour seulement lors de la
création d'un document (comme les dates, où il peut y avoir cette
possibilité)
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
Tout à fait !!
je me pose cependant une question (sans réponse) porquoi ne pourrions
nous pas avoir un champ qui se met à jour seulement lors de la
création d'un document (comme les dates, où il peut y avoir cette
possibilité)
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
Tout à fait !!
je me pose cependant une question (sans réponse) porquoi ne pourrions
nous pas avoir un champ qui se met à jour seulement lors de la
création d'un document (comme les dates, où il peut y avoir cette
possibilité)
Bonjour !
'olivier' nous a écrit ...Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
Tout à fait !!
je me pose cependant une question (sans réponse) porquoi ne pourrions
nous pas avoir un champ qui se met à jour seulement lors de la
création d'un document (comme les dates, où il peut y avoir cette
possibilité)
J'ai modifié un petit peu la macro citée dans la faq.
Cette macro est à placer dans un modèle par exemple
'Bon de commande.dot'
Dans ce modèle placer un champ { AUTOTEXT "numéro" }
aux endroits où doit figurer le numéro du bon de commande.
La macro se charge de créer l'IA si elle n'existe pas.
Il est ainsi facile de réinitialiser la numérotation en
supprimant l'IA 'numéro' dans
Outils / Modèles et compléments / Organiser / Insertion auto
La macro se charge de mettre à jour le numéro et de
déchamper (remplacer le champ par son texte) l'IA dans
chaque nouveau document créé avec ce modèle.
C'est mieux comme ça ?
' -----------------------------------------------------
Sub AutoNew()
' Utilisation d'une Insertion automatique 'Numéro'
' incrémentée à chaque création d'un document
Dim Num As Integer
Dim oIA As AutoTextEntry
Dim oChamp As Field
' Lire le Numéro
With ActiveDocument.AttachedTemplate
For Each oIA In .AutoTextEntries
If oIA.Name = "numéro" Then Num = Val(oIA.Value) + 1
Next oIA
' Si Numéro n'existe pas le créer dans le modèle
If Num = 0 Then
Num = Abs(Val(InputBox("Entrez un premier numéro", _
"Initialisation du compteur")))
.AutoTextEntries.Add Name:="numéro", _
Range:=Selection.Range
End If
' Enregistrer le numéro dans le modèle
.AutoTextEntries("numéro").Value = Str(Num)
.Save
End With
' Mettre à jour et déchamper les champs AutoText
For Each oChamp In ActiveDocument.Fields
If oChamp.Type = wdFieldAutoText Then
oChamp.Update: oChamp.Unlink
End If
Next oChamp
Set oIA = Nothing
Set oChamp = Nothing
End Sub
' -----------------------------------------------------
Anacoluthe
« Bonjour chez vous, numéro 6 »
- Patrick Mc GOOHAN
Bonjour !
'olivier' nous a écrit ...
Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
Tout à fait !!
je me pose cependant une question (sans réponse) porquoi ne pourrions
nous pas avoir un champ qui se met à jour seulement lors de la
création d'un document (comme les dates, où il peut y avoir cette
possibilité)
J'ai modifié un petit peu la macro citée dans la faq.
Cette macro est à placer dans un modèle par exemple
'Bon de commande.dot'
Dans ce modèle placer un champ { AUTOTEXT "numéro" }
aux endroits où doit figurer le numéro du bon de commande.
La macro se charge de créer l'IA si elle n'existe pas.
Il est ainsi facile de réinitialiser la numérotation en
supprimant l'IA 'numéro' dans
Outils / Modèles et compléments / Organiser / Insertion auto
La macro se charge de mettre à jour le numéro et de
déchamper (remplacer le champ par son texte) l'IA dans
chaque nouveau document créé avec ce modèle.
C'est mieux comme ça ?
' -----------------------------------------------------
Sub AutoNew()
' Utilisation d'une Insertion automatique 'Numéro'
' incrémentée à chaque création d'un document
Dim Num As Integer
Dim oIA As AutoTextEntry
Dim oChamp As Field
' Lire le Numéro
With ActiveDocument.AttachedTemplate
For Each oIA In .AutoTextEntries
If oIA.Name = "numéro" Then Num = Val(oIA.Value) + 1
Next oIA
' Si Numéro n'existe pas le créer dans le modèle
If Num = 0 Then
Num = Abs(Val(InputBox("Entrez un premier numéro", _
"Initialisation du compteur")))
.AutoTextEntries.Add Name:="numéro", _
Range:=Selection.Range
End If
' Enregistrer le numéro dans le modèle
.AutoTextEntries("numéro").Value = Str(Num)
.Save
End With
' Mettre à jour et déchamper les champs AutoText
For Each oChamp In ActiveDocument.Fields
If oChamp.Type = wdFieldAutoText Then
oChamp.Update: oChamp.Unlink
End If
Next oChamp
Set oIA = Nothing
Set oChamp = Nothing
End Sub
' -----------------------------------------------------
Anacoluthe
« Bonjour chez vous, numéro 6 »
- Patrick Mc GOOHAN
Bonjour !
'olivier' nous a écrit ...Mais si vous entendez que Numéro soit /déjà/ présent dans le
nouveau document (c'est le but du modèle),
Tout à fait !!
je me pose cependant une question (sans réponse) porquoi ne pourrions
nous pas avoir un champ qui se met à jour seulement lors de la
création d'un document (comme les dates, où il peut y avoir cette
possibilité)
J'ai modifié un petit peu la macro citée dans la faq.
Cette macro est à placer dans un modèle par exemple
'Bon de commande.dot'
Dans ce modèle placer un champ { AUTOTEXT "numéro" }
aux endroits où doit figurer le numéro du bon de commande.
La macro se charge de créer l'IA si elle n'existe pas.
Il est ainsi facile de réinitialiser la numérotation en
supprimant l'IA 'numéro' dans
Outils / Modèles et compléments / Organiser / Insertion auto
La macro se charge de mettre à jour le numéro et de
déchamper (remplacer le champ par son texte) l'IA dans
chaque nouveau document créé avec ce modèle.
C'est mieux comme ça ?
' -----------------------------------------------------
Sub AutoNew()
' Utilisation d'une Insertion automatique 'Numéro'
' incrémentée à chaque création d'un document
Dim Num As Integer
Dim oIA As AutoTextEntry
Dim oChamp As Field
' Lire le Numéro
With ActiveDocument.AttachedTemplate
For Each oIA In .AutoTextEntries
If oIA.Name = "numéro" Then Num = Val(oIA.Value) + 1
Next oIA
' Si Numéro n'existe pas le créer dans le modèle
If Num = 0 Then
Num = Abs(Val(InputBox("Entrez un premier numéro", _
"Initialisation du compteur")))
.AutoTextEntries.Add Name:="numéro", _
Range:=Selection.Range
End If
' Enregistrer le numéro dans le modèle
.AutoTextEntries("numéro").Value = Str(Num)
.Save
End With
' Mettre à jour et déchamper les champs AutoText
For Each oChamp In ActiveDocument.Fields
If oChamp.Type = wdFieldAutoText Then
oChamp.Update: oChamp.Unlink
End If
Next oChamp
Set oIA = Nothing
Set oChamp = Nothing
End Sub
' -----------------------------------------------------
Anacoluthe
« Bonjour chez vous, numéro 6 »
- Patrick Mc GOOHAN
je viens de reéssayer au travail avec un autre word... j'ai deux
nouvelles unes bonne et une mauvaise.
je commence par la mauvaise :
cela ne marche pas
la bonne
cela marche si je ne mets pas les guillemets autour de numéro après
la commande AUTOTEXT
(je réessairai donc chez moi pour W97)
c'est génial.
merci encore
éventuellement une question subsidiaire : est-il possible de saborder
la macro à la fin pour éviter qu'elle ne reste dans le nouveau
document.
(ne pas perdre du temps sur cette question)
je viens de reéssayer au travail avec un autre word... j'ai deux
nouvelles unes bonne et une mauvaise.
je commence par la mauvaise :
cela ne marche pas
la bonne
cela marche si je ne mets pas les guillemets autour de numéro après
la commande AUTOTEXT
(je réessairai donc chez moi pour W97)
c'est génial.
merci encore
éventuellement une question subsidiaire : est-il possible de saborder
la macro à la fin pour éviter qu'elle ne reste dans le nouveau
document.
(ne pas perdre du temps sur cette question)
je viens de reéssayer au travail avec un autre word... j'ai deux
nouvelles unes bonne et une mauvaise.
je commence par la mauvaise :
cela ne marche pas
la bonne
cela marche si je ne mets pas les guillemets autour de numéro après
la commande AUTOTEXT
(je réessairai donc chez moi pour W97)
c'est génial.
merci encore
éventuellement une question subsidiaire : est-il possible de saborder
la macro à la fin pour éviter qu'elle ne reste dans le nouveau
document.
(ne pas perdre du temps sur cette question)