Codes postaux

Le
Flac
Bonjour,
Excel 2000
J'ai trouvé sur Internet un code qui permet de formater
les codes postaux (à ce que j'ai vu, un certain Denis Michon aurait pondu ce
code en 2004.
Ma question est:
Comment pourrais-je adapter ce code à plus d'une cellule sans avoir à
multiplier le code pour chacune des cellules?
Par exemple, si je voulais adapter ce code aux cellules
B26 et B38 en plus de B17

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("b17"))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
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 = 35
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "La saisie du code postal est incorrecte", vbCritical, "
CODE POSTAL"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
ActiveCell.Offset(-1, 0).Select
End If
Next
End If
Application.EnableEvents = True
End Sub

Merci
Flac
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
Flac
Le #17364861
Bonjour,
J'ai oublié de mentionner que c'était pour les codes postaux canadiens.

Excusez.

Flac


"Flac"
Bonjour,
Excel 2000
J'ai trouvé sur Internet un code qui permet de formater
les codes postaux (à ce que j'ai vu, un certain Denis Michon aurait pondu
ce code en 2004.
Ma question est:
Comment pourrais-je adapter ce code à plus d'une cellule sans avoir à
multiplier le code pour chacune des cellules?
Par exemple, si je voulais adapter ce code aux cellules
B26 et B38 en plus de B17

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("b17"))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
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 = 35
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "La saisie du code postal est incorrecte", vbCritical, "
CODE POSTAL"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
ActiveCell.Offset(-1, 0).Select
End If
Next
End If
Application.EnableEvents = True
End Sub

Merci
Flac



michdenis
Le #17365011
Tu modifies cette ligne de code de cette manière pour que ces
3 cellules (B17,B26,B38) soient affectées par la macro :
Set Rg = Intersect(Target, Union(Range("b17"),Range("B26"),Range("B38"))



"Flac"
Bonjour,
Excel 2000
J'ai trouvé sur Internet un code qui permet de formater
les codes postaux (à ce que j'ai vu, un certain Denis Michon aurait pondu ce
code en 2004.
Ma question est:
Comment pourrais-je adapter ce code à plus d'une cellule sans avoir à
multiplier le code pour chacune des cellules?
Par exemple, si je voulais adapter ce code aux cellules
B26 et B38 en plus de B17

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("b17"))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
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 = 35
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "La saisie du code postal est incorrecte", vbCritical, "
CODE POSTAL"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
ActiveCell.Offset(-1, 0).Select
End If
Next
End If
Application.EnableEvents = True
End Sub

Merci
Flac
Flac
Le #17373611
Merci
Flac


"michdenis"
Tu modifies cette ligne de code de cette manière pour que ces
3 cellules (B17,B26,B38) soient affectées par la macro :
Set Rg = Intersect(Target, Union(Range("b17"),Range("B26"),Range("B38"))



"Flac"
Bonjour,
Excel 2000
J'ai trouvé sur Internet un code qui permet de formater
les codes postaux (à ce que j'ai vu, un certain Denis Michon aurait pondu
ce
code en 2004.
Ma question est:
Comment pourrais-je adapter ce code à plus d'une cellule sans avoir à
multiplier le code pour chacune des cellules?
Par exemple, si je voulais adapter ce code aux cellules
B26 et B38 en plus de B17

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("b17"))
Application.EnableEvents = False
If Not Rg Is Nothing Then
For Each c In Rg
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 = 35
c.Font.ColorIndex = xlAutomatic
Else
MsgBox "La saisie du code postal est incorrecte", vbCritical, "
CODE POSTAL"
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 2
ActiveCell.Offset(-1, 0).Select
End If
Next
End If
Application.EnableEvents = True
End Sub

Merci
Flac




Publicité
Poster une réponse
Anonyme