Format de cellule personnalisé

Le
Vstrom
Bonjour,

J'utilise Office 2007 très souvent pour saisir des clés de licence Windows,
composées de 5 fois 5 caractères séparés par un tiret.

Je souhaiterais automatiser la saisie et avoir la même chose que dans
Winsows XP ou 7, à savoir dès que j'ai saisi 5 caractères, un tiret est
affiché automatiquement et ce, 4 fois, le tiret derrière le 25ème caractère
est inutile.

Merci pour vos réponses.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25872882
Bonjour,
Mets cette macro dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
If Len(Target.Value) = 25 Then
For i = 1 To 5
Txt = Mid(Target.Value, i, 5) & "-" & Txt
Next i
Application.EnableEvents = False
Target.Value = Left(Txt, Len(Txt) - 1)
Application.EnableEvents = False
End If
End Sub
Cordialement.
Daniel


Bonjour,

J'utilise Office 2007 très souvent pour saisir des clés de licence Windows,
composées de 5 fois 5 caractères séparés par un tiret.

Je souhaiterais automatiser la saisie et avoir la même chose que dans Winsows
XP ou 7, à savoir dès que j'ai saisi 5 caractères, un tiret est affiché
automatiquement et ce, 4 fois, le tiret derrière le 25ème caractère est
inutile.

Merci pour vos réponses.
Jacky
Le #25873682
Hello Daniel

Application.EnableEvents = False <= > Target.Value = Left(Txt, Len(Txt) - 1)
Application.EnableEvents = False <====>True



Ah! que ce "copier/coller" peut-être collant des fois. :-)
;o)))

--
Salutations
JJ


"DanielCo"
Bonjour,
Mets cette macro dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
If Len(Target.Value) = 25 Then
For i = 1 To 5
Txt = Mid(Target.Value, i, 5) & "-" & Txt
Next i
Application.EnableEvents = False
Target.Value = Left(Txt, Len(Txt) - 1)
Application.EnableEvents = False
End If
End Sub
Cordialement.
Daniel


Bonjour,

J'utilise Office 2007 très souvent pour saisir des clés de licence Windows, composées de 5 fois 5
caractères séparés par un tiret.

Je souhaiterais automatiser la saisie et avoir la même chose que dans Winsows XP ou 7, à savoir dès que
j'ai saisi 5 caractères, un tiret est affiché automatiquement et ce, 4 fois, le tiret derrière le 25ème
caractère est inutile.

Merci pour vos réponses.
DanielCo
Le #25873952
Hello Daniel

Application.EnableEvents = False <= >> Target.Value = Left(Txt, Len(Txt) - 1)
Application.EnableEvents = False <====>True



Ah! que ce "copier/coller" peut-être collant des fois. :-)
;o)))

--
Salutations
JJ



Eh oui... C'est dimanche...
Daniel
Vstrom
Le #25874912
Bonsoir Daniel,

Merci pour la formule, mais je ne sais ni où, ni comment lamettre dans la
feuille de calcul.
Merci encore.

"DanielCo" l8jrgr$ra8$
Bonjour,
Mets cette macro dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
If Len(Target.Value) = 25 Then
For i = 1 To 5
Txt = Mid(Target.Value, i, 5) & "-" & Txt
Next i
Application.EnableEvents = False
Target.Value = Left(Txt, Len(Txt) - 1)
Application.EnableEvents = False
End If
End Sub
Cordialement.
Daniel


Bonjour,

J'utilise Office 2007 très souvent pour saisir des clés de licence
Windows, composées de 5 fois 5 caractères séparés par un tiret.

Je souhaiterais automatiser la saisie et avoir la même chose que dans
Winsows XP ou 7, à savoir dès que j'ai saisi 5 caractères, un tiret est
affiché automatiquement et ce, 4 fois, le tiret derrière le 25ème
caractère est inutile.

Merci pour vos réponses.
MichD
Le #25875122
Bonjour,

Tu fais un clic droit sur l'onglet de la feuille où l'action se déroule,
et dans le menu contextuel, tu appelles la commande "Visualiser le code"
et dans page blanche de droite, tu copies le code que Daniel t'a proposé.
Si tu as un pépin, essaie aussi celui de Jacky après avoir supprimé la
première version du code.
Jacky
Le #25876172
Bonjour,

Autre exemple avec une boite de saisie
Ici
http://cjoint.com/?CLqn5Y7O5EV
--
Salutations
JJ


"Vstrom"
Bonsoir Daniel,

Merci pour la formule, mais je ne sais ni où, ni comment lamettre dans la feuille de calcul.
Merci encore.

"DanielCo"
Bonjour,
Mets cette macro dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
If Len(Target.Value) = 25 Then
For i = 1 To 5
Txt = Mid(Target.Value, i, 5) & "-" & Txt
Next i
Application.EnableEvents = False
Target.Value = Left(Txt, Len(Txt) - 1)
Application.EnableEvents = False
End If
End Sub
Cordialement.
Daniel


Bonjour,

J'utilise Office 2007 très souvent pour saisir des clés de licence Windows, composées de 5 fois 5
caractères séparés par un tiret.

Je souhaiterais automatiser la saisie et avoir la même chose que dans Winsows XP ou 7, à savoir dès que
j'ai saisi 5 caractères, un tiret est affiché automatiquement et ce, 4 fois, le tiret derrière le 25ème
caractère est inutile.

Merci pour vos réponses.






Publicité
Poster une réponse
Anonyme