Dans mon entreprise on différencie les plans de définition des plans de fabrication. On aimerait sur le plan de fab afficher l’indice majeur de ce plan, mais sous forme de chiffre histoire de différencier un peu. Je crois pas que ça soit possible directement, donc je pensais passer un moyen détourné.
Il me semble qu’il est possible de créer un paramètre tableau qui accepte l’indice (A,B,C…) en entrée et renvoie un chiffre en sortie (1,2,3…). Or je n’y arrive pas, comment faire ?
Tu peux, en faisant clic droit sur la mise en plan, Autres > Texte de la révision. A la place de “A”, tu entres “1”. Ainsi à chaque validation du plan, l’indice s’incrémentera numériquement.
Effectivement ça fonctionne. Par contre si je le fais sur mon modèle de document, le compteur est ré initialisé et donc reviens à A quand je mets en plan une nouvelle pièce…
Bon pour régler mon problème, j’ai sorti l’artillerie lourde, j’ai fait un script bien bourrin.
Je le publie pour ceux qui serait intéressé :
Passer en Etape fond de plan
Crée un paramètre texte “Revision_lettre” avec comme valeur “=$‘Révision majeure’”
Crée un paramètre texte “Revision_chiffre” puis cliquer sur le + à coté de valeur pour créer un script.
Coller ce code :
'Compare l'indice en lettre pour le transformer en chiffre
Dim TexteDeBase As String = Revision_lettre
Dim TexteFinal As String
If TexteDeBase= "A" Then
TexteFinal=1
ElseIf TexteDeBase="B" Then
TexteFinal=2
ElseIf TexteDeBase="C" Then
TexteFinal=3
ElseIf TexteDeBase="D" Then
TexteFinal=4
ElseIf TexteDeBase="E" Then
TexteFinal=5
ElseIf TexteDeBase="F" Then
TexteFinal=6
ElseIf TexteDeBase="G" Then
TexteFinal=7
ElseIf TexteDeBase="H" Then
TexteFinal=8
ElseIf TexteDeBase="I" Then
TexteFinal=9
ElseIf TexteDeBase="J" Then
TexteFinal=10
ElseIf TexteDeBase="K" Then
TexteFinal=11
ElseIf TexteDeBase="K" Then
TexteFinal=12
ElseIf TexteDeBase="L" Then
TexteFinal=13
ElseIf TexteDeBase="M" Then
TexteFinal=14
ElseIf TexteDeBase="N" Then
TexteFinal=15
ElseIf TexteDeBase="O" Then
TexteFinal=16
ElseIf TexteDeBase="P" Then
TexteFinal=17
ElseIf TexteDeBase="Q" Then
TexteFinal=18
ElseIf TexteDeBase="R" Then
TexteFinal=19
ElseIf TexteDeBase="S" Then
TexteFinal=20
ElseIf TexteDeBase="T" Then
TexteFinal=21
ElseIf TexteDeBase="U" Then
TexteFinal=22
ElseIf TexteDeBase="V" Then
TexteFinal=23
ElseIf TexteDeBase="W" Then
TexteFinal=24
ElseIf TexteDeBase="X" Then
TexteFinal=25
ElseIf TexteDeBase="Y" Then
TexteFinal=26
ElseIf TexteDeBase="Z" Then
TexteFinal=27
Else
TexteFinal= "Putain dépassé indice Z, vous vous êtes vraiment vautré sur celle-ci ! Rajouter des lettres au script !"
End If
Return TexteFinal
En VB, si tu récupères le code ASCII d’une lettre via la fonction Asc() tu auras un entier. Pour le A majuscule c’est 65. Si tu soustrait 64, tu auras 1. Le B majuscule c’est 66, 66-64 ça fait 2, etc…
Avec cette approche tu n’aura jamais d’erreur.
[quote=iPoilz post_id=45556 time=1640270892 user_id=5393]
J’espère qu’un jour quelqu’un se tapera une bonne tranche de rire grâce à moi :mrgreen:
[/quote]
Je viens de me rendre compte à l’usage que je suis vraiment bête car malgré ma révision en chiffre, le tableau d’indice lui est toujours en lettre ><
J’imagine qu’il n’y a pas moyen de changer ça ?
Malheureusement dans clic droit, autres, j’ai que “Textes de la révision” et dedans il n’y a que “Texte de la révision majeure” etc sans aucun “premier” ni emplacement à cocher.
Comme dit plus haut si dans cette interface, je force 1 à la place de A, ça marche mais pas quand je l’utilise en tant que modèle de document, là ça me le ré-initie à la création.
J’imagine que la modif à dû être fait quelque part entre la 7.13 et la 7.15, une raison supplémentaire pour faire la MAJ !