OVH Cloud OVH Cloud

format code postal

8 réponses
Avatar
Érico
Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci

8 réponses

Avatar
michdenis
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces, en minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:
Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci
Avatar
Érico
Ça fonctionne pas, pourtant, j'ai mis un code dans la 3e colonne (C1)


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces, en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci





Avatar
Érico
OKIIIIIIIIII, ça fonctionneeeee

il fallait que je clique sur la cellule après avoir faite la macro.

Merci beaucoup.


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces, en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci





Avatar
Érico
Est-ce possible de donner un nom à la plage comme "codepostal" et de mettre
ce nom dans la macro au lieu de prendre la 3e colonne?

Merci


"Érico" a écrit dans le message de news:

OKIIIIIIIIII, ça fonctionneeeee

il fallait que je clique sur la cellule après avoir faite la macro.

Merci beaucoup.


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces, en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci









Avatar
michdenis
Bonjour Érico,

Tu n'as qu'à modifier cette ligne de code pour donner à la procédure la colonne de ton choix

Set Rg = Intersect(Target, Columns(3))

Modifie le 3 pour la colonne de ton choix

et si tu préféres, tu peux délimiter une plage donnée comme ceci :

Set Rg = Intersect(Target, Range("B5:B55"))


Salutations!


"Érico" a écrit dans le message de news:
Est-ce possible de donner un nom à la plage comme "codepostal" et de mettre
ce nom dans la macro au lieu de prendre la 3e colonne?

Merci


"Érico" a écrit dans le message de news:

OKIIIIIIIIII, ça fonctionneeeee

il fallait que je clique sur la cellule après avoir faite la macro.

Merci beaucoup.


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces, en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci









Avatar
Érico
Je voulais donner un nom à la colonne pour que si la personne insère des
colonnes, ça sera toujours la bonne colonne.


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

Bonjour Érico,

Tu n'as qu'à modifier cette ligne de code pour donner à la procédure la
colonne de ton choix

Set Rg = Intersect(Target, Columns(3))

Modifie le 3 pour la colonne de ton choix

et si tu préféres, tu peux délimiter une plage donnée comme ceci :

Set Rg = Intersect(Target, Range("B5:B55"))


Salutations!


"Érico" a écrit dans le message de news:

Est-ce possible de donner un nom à la plage comme "codepostal" et de
mettre
ce nom dans la macro au lieu de prendre la 3e colonne?

Merci


"Érico" a écrit dans le message de news:

OKIIIIIIIIII, ça fonctionneeeee

il fallait que je clique sur la cellule après avoir faite la macro.

Merci beaucoup.


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes
postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces,
en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci














Avatar
michdenis
Set Rg = Intersect(Target, Range("NomDeLaColonne"))


Salutations!


"Érico" a écrit dans le message de news:
Je voulais donner un nom à la colonne pour que si la personne insère des
colonnes, ça sera toujours la bonne colonne.


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

Bonjour Érico,

Tu n'as qu'à modifier cette ligne de code pour donner à la procédure la
colonne de ton choix

Set Rg = Intersect(Target, Columns(3))

Modifie le 3 pour la colonne de ton choix

et si tu préféres, tu peux délimiter une plage donnée comme ceci :

Set Rg = Intersect(Target, Range("B5:B55"))


Salutations!


"Érico" a écrit dans le message de news:

Est-ce possible de donner un nom à la plage comme "codepostal" et de
mettre
ce nom dans la macro au lieu de prendre la 3e colonne?

Merci


"Érico" a écrit dans le message de news:

OKIIIIIIIIII, ça fonctionneeeee

il fallait que je clique sur la cellule après avoir faite la macro.

Merci beaucoup.


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes
postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces,
en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci














Avatar
Érico
Merci, tu es un vrai pro!


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



Set Rg = Intersect(Target, Range("NomDeLaColonne"))


Salutations!


"Érico" a écrit dans le message de news:

Je voulais donner un nom à la colonne pour que si la personne insère des
colonnes, ça sera toujours la bonne colonne.


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

Bonjour Érico,

Tu n'as qu'à modifier cette ligne de code pour donner à la procédure la
colonne de ton choix

Set Rg = Intersect(Target, Columns(3))

Modifie le 3 pour la colonne de ton choix

et si tu préféres, tu peux délimiter une plage donnée comme ceci :

Set Rg = Intersect(Target, Range("B5:B55"))


Salutations!


"Érico" a écrit dans le message de news:

Est-ce possible de donner un nom à la plage comme "codepostal" et de
mettre
ce nom dans la macro au lieu de prendre la 3e colonne?

Merci


"Érico" a écrit dans le message de news:

OKIIIIIIIIII, ça fonctionneeeee

il fallait que je clique sur la cellule après avoir faite la macro.

Merci beaucoup.


"michdenis" a écrit dans le message de news:
%236w%
Bonjour Érico,

Tu colles cette procédure dans la feuille où tu saisis tes codes
postaux.

Dans l'exemple, les codes postaux sont saisies en colonne 3
C'est ce qu'il te reste à modifier !

Tu peux taper les codes postaux sans l'espace, avec plusieurs espaces,
en
minuscule si tu désires
le résultat sera toujours le bon !

'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Set Rg = Intersect(Target, Columns(3))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
If c <> "" Then
c.Value = UCase(Application.Trim(c))
If c.Value Like "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" Or _
c.Value Like "[A-Z][0-9][A-Z][0-9][A-Z][0-9]" Then
c.Value = Left(c, 3) & " " & Right(c, 3)
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "la saisie du code postal est inexacte"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
End If
Else
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = xlAutomatic
End If
Next
End If
Application.EnableEvents = True
End Sub
'-------------------------------


Salutations!



"Érico" a écrit dans le message de news:

Comment faire pour avoir le format des codes postaux canadien?

comme H6H 3D5

Merci