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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Flac
Bonjour, J'ai oublié de mentionner que c'était pour les codes postaux canadiens.
Excusez.
Flac
"Flac" a écrit dans le message de news:
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
Bonjour,
J'ai oublié de mentionner que c'était pour les codes postaux canadiens.
Excusez.
Flac
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
OHOMipXIJHA.4600@TK2MSFTNGP06.phx.gbl...
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
Bonjour, J'ai oublié de mentionner que c'était pour les codes postaux canadiens.
Excusez.
Flac
"Flac" a écrit dans le message de news:
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
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" a écrit dans le message de news:
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
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" <luc_bt@hotmail.com> a écrit dans le message de news:
OHOMipXIJHA.4600@TK2MSFTNGP06.phx.gbl...
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
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" a écrit dans le message de news:
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
Merci Flac
"michdenis" a écrit dans le message de news:
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" a écrit dans le message de news:
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
Merci
Flac
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
Ogba6AYIJHA.4060@TK2MSFTNGP03.phx.gbl...
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" <luc_bt@hotmail.com> a écrit dans le message de news:
OHOMipXIJHA.4600@TK2MSFTNGP06.phx.gbl...
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
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" a écrit dans le message de news:
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