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

Formater

2 réponses
Avatar
Flac
Bonjour,
Excel 2000
Dans la cellule A1 en format standard, j'écris
1231234567

Dans le module de la feuille1, j'ai le code suivant:


Private Sub Worksheet_Change(ByVal Target As Range)
Set rg1 = Range("a1")
Application.EnableEvents = False
If Not rg1 Is Nothing Then
Target.Select
For Each c In rg1
If c.Value Like "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" Then
Target = Left(c, 3) & "-" & Mid(c, 6, 3) & "-" & Right(c, 4)
End If
Next
End If
Application.EnableEvents = True
End Sub

Le code devrait transformer 1231234567 en 123-123-4567
Quelqu'un pourrait-il m'expliquer pourquoi j'obtiens 123-345-4567 au lieu de
123-123-4567 (les 3 chiffres du milieu changent).

Merci

Flac

2 réponses

Avatar
Jacky
Bonsoir

Le code devrait transformer 1231234567 en 123-123-4567



Format personnalisée ne fait pas ??
000-000-0000
en vba
[a1].NumberFormat = "000-000-0000"
--
Salutations
JJ


"Flac" a écrit dans le message de news:

Bonjour,
Excel 2000
Dans la cellule A1 en format standard, j'écris
1231234567

Dans le module de la feuille1, j'ai le code suivant:


Private Sub Worksheet_Change(ByVal Target As Range)
Set rg1 = Range("a1")
Application.EnableEvents = False
If Not rg1 Is Nothing Then
Target.Select
For Each c In rg1
If c.Value Like "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" Then
Target = Left(c, 3) & "-" & Mid(c, 6, 3) & "-" & Right(c, 4)
End If
Next
End If
Application.EnableEvents = True
End Sub

Le code devrait transformer 1231234567 en 123-123-4567
Quelqu'un pourrait-il m'expliquer pourquoi j'obtiens 123-345-4567 au lieu
de 123-123-4567 (les 3 chiffres du milieu changent).

Merci

Flac




Avatar
Flac
Merci Jacky,

Pas mal plus simple en effet.

Flac



"Jacky" a écrit dans le message de news:
%
Bonsoir

Le code devrait transformer 1231234567 en 123-123-4567



Format personnalisée ne fait pas ??
000-000-0000
en vba
[a1].NumberFormat = "000-000-0000"
--
Salutations
JJ


"Flac" a écrit dans le message de news:

Bonjour,
Excel 2000
Dans la cellule A1 en format standard, j'écris
1231234567

Dans le module de la feuille1, j'ai le code suivant:


Private Sub Worksheet_Change(ByVal Target As Range)
Set rg1 = Range("a1")
Application.EnableEvents = False
If Not rg1 Is Nothing Then
Target.Select
For Each c In rg1
If c.Value Like "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]" Then
Target = Left(c, 3) & "-" & Mid(c, 6, 3) & "-" & Right(c, 4)
End If
Next
End If
Application.EnableEvents = True
End Sub

Le code devrait transformer 1231234567 en 123-123-4567
Quelqu'un pourrait-il m'expliquer pourquoi j'obtiens 123-345-4567 au lieu
de 123-123-4567 (les 3 chiffres du milieu changent).

Merci

Flac