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

Comparer une format de chaine de caractère

8 réponses
Avatar
Laurent
Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface a
bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...

8 réponses

Avatar
isabelle
bonjour Laurent,

je ne suis pas sur de bien saisir ta demande,
est ce qu'il peut y avoir 5 chiffres tiret 4 chiffres tiret 8 chiffres
ou bien c'est constant 3 chiffres tiret 2 chiffres tiret 3 chiffres ?

isabelle

Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface
a bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...


Avatar
Daniel.C
Bonjour.
Essaie (la chaine étant en A1) :

Sub test()
tablo = Split([A1], "-")
If UBound(tablo) <> 2 Then
MsgBox "Saisie incorrecte"
End If
If Not IsNumeric(tablo(0)) Or _
Not IsNumeric(tablo(1)) Or _
Not IsNumeric(tablo(2)) Then
MsgBox "Saisie incorrecte"
End If
End Sub

Cordialelement.
Daniel
"Laurent " a écrit dans le message de news:

Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface a
bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...


Avatar
Laurent
MErci Daniel je vais essayer je tiens au courant... :)

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Essaie (la chaine étant en A1) :

Sub test()
tablo = Split([A1], "-")
If UBound(tablo) <> 2 Then
MsgBox "Saisie incorrecte"
End If
If Not IsNumeric(tablo(0)) Or _
Not IsNumeric(tablo(1)) Or _
Not IsNumeric(tablo(2)) Then
MsgBox "Saisie incorrecte"
End If
End Sub

Cordialelement.
Daniel
"Laurent " a écrit dans le message de news:

Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface
a bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...






Avatar
Laurent
En fait je n'ai pas été assez clair :
la structure est ainsi : YYYYYY-XX-X avec : Y : 3 à 6 chiffres.
et moi je veux verifier que l'entrée correspond bien a ca... voila

"isabelle" a écrit dans le message de
news:%
bonjour Laurent,

je ne suis pas sur de bien saisir ta demande,
est ce qu'il peut y avoir 5 chiffres tiret 4 chiffres tiret 8 chiffres
ou bien c'est constant 3 chiffres tiret 2 chiffres tiret 3 chiffres ?

isabelle

Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface
a bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...




Avatar
Laurent
Bien C'ets ok tout fonctionne merci DAniel

J'ai encore appris quelque chose encore sur VBA aujourd'hui ;)

"Laurent " a écrit dans le message de
news:
MErci Daniel je vais essayer je tiens au courant... :)

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Essaie (la chaine étant en A1) :

Sub test()
tablo = Split([A1], "-")
If UBound(tablo) <> 2 Then
MsgBox "Saisie incorrecte"
End If
If Not IsNumeric(tablo(0)) Or _
Not IsNumeric(tablo(1)) Or _
Not IsNumeric(tablo(2)) Then
MsgBox "Saisie incorrecte"
End If
End Sub

Cordialelement.
Daniel
"Laurent " a écrit dans le message de news:

Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface
a bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...









Avatar
Laurent
Sujet clos Daniel m'as bien aidé sur le coup
Merci a tout ceux qui ont refléchis a mon problème !!! :)
"Laurent " a écrit dans le message de
news:
Bonjour,
Jeune autodidacte perds ses cheveux...

Voici mon problème :

Je cherche a verifier par une macro si l'utilisateur de mon interface a
bien rentré un bon format de chaine de caratère.
En fait le format est de ce type : 567-54-432
En fait seul les 2 tirets sont constants et le groupe de chiffre peux
varier entre chaque... je en veux pas vérifier qu'il a bien rentrer CE
chiffre mais bien une suite de caractère correspondant à ce format...
J'ai un niveau de VBA moyen moins et même si j'ai un bon livre bah...
y'as pas tout et c'est pas forcément explicite...

Merci à vous tous d'avance...


Avatar
isabelle
Sujet clos Daniel m'as bien aidé sur le coup
Merci a tout ceux qui ont refléchis a mon problème !!! :)


ha bon, j'avais mal compris Laurent, je croyais que seul le paquet de "y" était de longueur variable
et que les 2 paquets de "x" étaient fixe, un à 2 caractères et l'autre à 1 caractère.

isabelle

Avatar
Laurent
Si si Isabelle c'est bien ca...
le paquet de y est variable...
Mon souci etait juste au niveau de la fonction split que je ne connaissais
pas et forcément... c'est otu de suite plus dur
maintenant que je connais cette fonction je peux traiter comme je veux et
fair eles comparaisons nécéssaires ^^
du coup bah voila .. .
Ca accélère aussi beaucoup mes macro de comparaison puisque je peux comparer
par groupe de chiffre du coup ^^
Merci quand même a toi d'avoir été aussi prompte...

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


Sujet clos Daniel m'as bien aidé sur le coup
Merci a tout ceux qui ont refléchis a mon problème !!! :)


ha bon, j'avais mal compris Laurent, je croyais que seul le paquet de "y"
était de longueur variable
et que les 2 paquets de "x" étaient fixe, un à 2 caractères et l'autre à 1
caractère.

isabelle