Salut Jean-Francois,
Jean-Francois Nifenecker a écrit :
> Bonjour,
>
> je voudrais un format personnalisé pour saisir et afficher des adresses
MAC,
> comme ceci : 00-01-23-45-AB-F4 à partir de valeurs saisies comme cela :
> 00012345ABF4.
>
> Les valeurs à afficher/saisir sont des hexadécimaux et je ne me vois
pas créer
> une colonne par octet. Il y a aussi la solution de la saisie brute et de
> l'affichage dans une colonne après transformation, mais pourquoi gâcher
?
>
> PS : j'ai une question analogue avec des clefs d'identification
présentées
> sous la forme de suites de quatre caractères alphanumériques et
séparés par
> des tirets, p.ex : QSD4-58YH-RT7V-O9IW.
>
> Des idées ?
La réponse sur les formats personnalisés ayant été fournie, voici un
bout de code pour remédier à cela :
NB : ne traite ici que la cellule sélectionnée
sub MacAddFormat()
'nn:nn:nn:nn:nn:nn
dim oDoc as object
dim sCell as string
dim aCell as string
oDoc = thisComponent
sCell = oDoc.CurrentSelection.String
if len(sCell) < 12 then
msgbox("Valeur saisie incorrecte")
else
aCell = ""
for i = 1 to 10 step 2
aCell = aCell & mid(sCell,i,2) & ":"
next i
aCell = aCell & right(sCell,2)
oDoc.CurrentSelection.String = aCell
end if
end sub
sub IdKeyFormat()
'aaaa:aaaa:aaaa:aaaa
dim oDoc as object
dim sCell as string
dim aCell as string
oDoc = thisComponent
sCell = oDoc.CurrentSelection.String
if len(sCell) < 16 then
msgbox("Valeur saisie incorrecte")
else
aCell = ""
for i = 1 to 12 step 4
aCell = aCell & mid(sCell,i,4) & "-"
next i
aCell = aCell & right(sCell,4)
oDoc.CurrentSelection.String = aCell
end if
end sub
Bon, reste plus qu'à adapter, ex :
- ajouter des contrôles de validité
- traiter une plage, ou une colonne
- paramétrer des formats différents
On assignera les procédures à des boutons ou des raccourcis.
Bonnes saises ;-)
Amitiés,
Francois
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]