Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits d'union
qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères inscrits
dans une cellule de la colonne 10 soit égal à 16 et que les caractères
soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits d'union
qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères inscrits
dans une cellule de la colonne 10 soit égal à 16 et que les caractères
soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits d'union
qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères inscrits
dans une cellule de la colonne 10 soit égal à 16 et que les caractères
soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits d'union
qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
Omq9pxUCJHA.3348@TK2MSFTNGP04.phx.gbl...
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits d'union
qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits d'union
qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23x64giVCJHA.5316@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
Omq9pxUCJHA.3348@TK2MSFTNGP04.phx.gbl...
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Y aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
(en excluant les traits d'union qui s'inscrivent automatiquement).
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Y aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
(en excluant les traits d'union qui s'inscrivent automatiquement).
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23x64giVCJHA.5316@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
Omq9pxUCJHA.3348@TK2MSFTNGP04.phx.gbl...
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Y aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
(en excluant les traits d'union qui s'inscrivent automatiquement).
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
ReY aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:
%Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Re
Y aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait
(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
%23ZRVp0WCJHA.4340@TK2MSFTNGP02.phx.gbl...
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23x64giVCJHA.5316@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
Omq9pxUCJHA.3348@TK2MSFTNGP04.phx.gbl...
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
ReY aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:
%Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Excuse-moi Jacky, j'avais pas regardé ton code avant de répondre ;o))
Et du coup, j'ai bien l'impression que Flac a fait pareil que moi !!
;o)))
CAP2
"Jacky" a écrit dans le message de news:
%ReY aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:
%Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Excuse-moi Jacky, j'avais pas regardé ton code avant de répondre ;o))
Et du coup, j'ai bien l'impression que Flac a fait pareil que moi !!
;o)))
CAP2
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23ZLpUnaCJHA.3348@TK2MSFTNGP04.phx.gbl...
Re
Y aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait
(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
%23ZRVp0WCJHA.4340@TK2MSFTNGP02.phx.gbl...
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23x64giVCJHA.5316@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
Omq9pxUCJHA.3348@TK2MSFTNGP04.phx.gbl...
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Excuse-moi Jacky, j'avais pas regardé ton code avant de répondre ;o))
Et du coup, j'ai bien l'impression que Flac a fait pareil que moi !!
;o)))
CAP2
"Jacky" a écrit dans le message de news:
%ReY aurait-il une façon d'éviter d'écrire les traits d'union, seulement les
16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:
%Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits d'union,
seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Re...
J'ai bien peur qu'il faille employer une autre stratégie.
Le format avec 16 chiffres ne passe pas
J'ai pas trouver mieux.
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target, "-", "")
If Len(x) <> 16 Then GoTo erreur
Target = Left(x, 4) & "-" & Mid(x, 5, 4) & "-" & Mid(x, 9, 4) & "-" &
Right(x, 4)
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox Target & Chr(10) & "N'est pas un numéro valide." & Chr(10) &
Chr(10) & "Recommencez."
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'-----------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 10 Then
Target.NumberFormat = "@"
End If
End Sub
'---------------
--
Salutations
JJ
"CAP2" a écrit dans le message de news:Excuse-moi Jacky, j'avais pas regardé ton code avant de répondre ;o))
Et du coup, j'ai bien l'impression que Flac a fait pareil que moi !!
;o)))
CAP2
"Jacky" a écrit dans le message de news:
%ReY aurait-il une façon d'éviter d'écrire les traits d'union, seulement
les 16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:
%Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits
d'union, seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Re...
J'ai bien peur qu'il faille employer une autre stratégie.
Le format avec 16 chiffres ne passe pas
J'ai pas trouver mieux.
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target, "-", "")
If Len(x) <> 16 Then GoTo erreur
Target = Left(x, 4) & "-" & Mid(x, 5, 4) & "-" & Mid(x, 9, 4) & "-" &
Right(x, 4)
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox Target & Chr(10) & "N'est pas un numéro valide." & Chr(10) &
Chr(10) & "Recommencez."
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'-----------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 10 Then
Target.NumberFormat = "@"
End If
End Sub
'---------------
--
Salutations
JJ
"CAP2" <CAP2@dfghjkdf.net> a écrit dans le message de news:
uLGw0qaCJHA.3496@TK2MSFTNGP03.phx.gbl...
Excuse-moi Jacky, j'avais pas regardé ton code avant de répondre ;o))
Et du coup, j'ai bien l'impression que Flac a fait pareil que moi !!
;o)))
CAP2
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23ZLpUnaCJHA.3348@TK2MSFTNGP04.phx.gbl...
Re
Y aurait-il une façon d'éviter d'écrire les traits d'union, seulement
les 16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait
(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
%23ZRVp0WCJHA.4340@TK2MSFTNGP02.phx.gbl...
Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits
d'union, seulement les 16 caractères numériques.
Merci
Flac
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23x64giVCJHA.5316@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
Omq9pxUCJHA.3348@TK2MSFTNGP04.phx.gbl...
Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Re...
J'ai bien peur qu'il faille employer une autre stratégie.
Le format avec 16 chiffres ne passe pas
J'ai pas trouver mieux.
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target, "-", "")
If Len(x) <> 16 Then GoTo erreur
Target = Left(x, 4) & "-" & Mid(x, 5, 4) & "-" & Mid(x, 9, 4) & "-" &
Right(x, 4)
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox Target & Chr(10) & "N'est pas un numéro valide." & Chr(10) &
Chr(10) & "Recommencez."
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'-----------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 10 Then
Target.NumberFormat = "@"
End If
End Sub
'---------------
--
Salutations
JJ
"CAP2" a écrit dans le message de news:Excuse-moi Jacky, j'avais pas regardé ton code avant de répondre ;o))
Et du coup, j'ai bien l'impression que Flac a fait pareil que moi !!
;o)))
CAP2
"Jacky" a écrit dans le message de news:
%ReY aurait-il une façon d'éviter d'écrire les traits d'union, seulement
les 16 caractères numériques
Avec ceci je pensais (a tort) que c'était déjà fait(en excluant les traits d'union qui s'inscrivent automatiquement).
je pensais (a tort) que c'était déjà fait
Essaie avec
'------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Then GoTo erreur
x = x * 1
Target.NumberFormat = "0000-0000-0000-0000"
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'---------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:
%Bonjour,
Merci pour la réponse. La macro fonctionne bien, mais il y a un petit
inconvénient. Je dois inscrire un trait d'union entre les 4 groupes de
caractères. Y aurait-il une façon d'éviter d'écrire les traits
d'union, seulement les 16 caractères numériques.
Merci
Flac
"Jacky" a écrit dans le message de news:
%Bonsoir,
Ceci peut-être
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Application.EnableEvents = False
On Error GoTo erreur
x = Application.Substitute(Target.Value, "-", "")
If Len(x) <> 16 Or Len(Target) <> (19) Then GoTo erreur
x = x * 1
Application.EnableEvents = True
Exit Sub
erreur:
MsgBox "Vous n'avez pas inscrit un numéro valide"
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
'------------------
--
Salutations
JJ
"Flac" a écrit dans le message de news:Bonjour,
Excel 2000,
J'ai dans une colonne le format suivant:
1234-5678-9012-3456
Il y a donc 16 caractères dans la cellule (en excluant les traits
d'union qui s'inscrivent automatiquement).
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Ce serait du genre:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 10 Then
if "si le nombre de caractères numériques est différent de
16" then
msgbox "Vous n'avez pas inscrit un numéro valide"
activecell.ClearContents
End If
End Sub
Merci
Flac
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.
Je voudrais une procédure qui vérifie que le nombre de caractères
inscrits dans une cellule de la colonne 10 soit égal à 16 et que les
caractères soient tous numériques.