Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Vérification de la présence de caractères accentués

    Bonjour,
    étant étudiant en alternance, il m'a été confié dans ma boite la rédaction d'une fonction que mon tuteur implémentera dans son script. Etant plutôt orienté réseau, je suis un peu perdu avec le vbs.

    Actuellement, le script vérifie que certaines conditions sont bien remplie lors de la création d'un compte sur l'AD.

    Je dois développer la fonction suivante : checker qu'aucun caractère accentué ne soient présent dans le nom et prénom de l'utilisateur crée ou de l'utilisateur à checker. Si de tel caractères sont présent, afficher un message de warning.
    Si une âme généreuse pouvait me venir en aide, avec quelques conseil, ou me dire par où commencer ça serait super !

    Merci !

  2. #2
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 463
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 463
    Points : 3 790
    Points
    3 790

    Par défaut

    Bonjour,

    Tu peux boucler sur les caractères de chaque chaine, puis tester si ces caractères sont bien compris entre A et Z et entre a et z
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    For i = 1 to Len(MaChaine)
       If Asc(mid(MaChaine, i, 1)) >= 65 and Asc(mid(MaChaine, i, 1)) <= 90 then
          Test = "OK"
       elseIf Asc(mid(MaChaine, i, 1)) >= 97 and Asc(mid(MaChaine, i, 1)) <= 122 then
          Test = "OK"
       else
          Test = "KO"
       end if
    Next
    MsgBox Test
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Merci pour ce retour rapide!

    Une autre question viens à moi, à la place de "MaChaine" est il possible de renseigner un attribue dans l'AD ( à savoir -> l'attribu cn ou name) ?

    Merci encore pour cette réponse.

  4. #4
    Expert Confirmé Sénior
    Avatar de hackoofr
    Homme Profil pro Mehdi Tounisiano
    Enseignant
    Inscrit en
    juin 2009
    Messages
    2 737
    Détails du profil
    Informations personnelles :
    Nom : Homme Mehdi Tounisiano
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juin 2009
    Messages : 2 737
    Points : 6 651
    Points
    6 651

    Par défaut

    Citation Envoyé par Socrvvte Voir le message
    Merci pour ce retour rapide!
    Une autre question viens à moi, à la place de "MaChaine" est il possible de renseigner un attribue dans l'AD ( à savoir -> l'attribu cn ou name) ?
    Merci encore pour cette réponse.
    Peut-être tu veux dire comment l’appeler par une fonction
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function Check(MaChaine)
    For i = 1 to Len(MaChaine)
       If Asc(mid(MaChaine, i, 1)) >= 65 and Asc(mid(MaChaine, i, 1)) <= 90 then
          Test = "Le nom est accepté !"
       elseIf Asc(mid(MaChaine, i, 1)) >= 97 and Asc(mid(MaChaine, i, 1)) <= 122 then
          Test = "Le nom est accepté !"
       else
          Test = "le Nom Contient un caractère non OK"
       end if
    Next
    MsgBox Test
    End Function
    Data = InputBox("check","check","check")
    Check Data

  5. #5
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : décembre 2012
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    C'est parfait!
    Merci beaucoup messieurs !

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro Moncef Ben Othman
    Directeur de lycée
    Inscrit en
    juillet 2009
    Messages
    1 450
    Détails du profil
    Informations personnelles :
    Nom : Homme Moncef Ben Othman
    Âge : 59
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur de lycée
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 1 450
    Points : 2 870
    Points
    2 870

    Par défaut

    Sur une remarque de pc75 que je salue par la même occasion, les caractères(voyelles) peuvent contenir des trémas. Pour cela, on peut utiliser ce
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Option Explicit
    Dim arrAccents, Cnt, Ret, Msg, i 'Déclaration des variables
    ' arrAccents : Un tableau contenant les codes ASCII des caractères accentués ou ayant 
    ' un tréma(2 points sur le caractère), j'ai opté pour ce procédé car mon système est BIDI et 
    ' m'affiche des bizarreries
    arrAccents =Array(192,194,196,200,201,202,203,206,207,212,217,219,220,224,226,228,232,233,234,235,238,239,244,246,249,251,252)
     
    Msg = InputBox("Saisir une chaîne de caractères : ","Chaîne à scanner :","Chaîne")
    If Msg = "" Then WScript.Quit
    CheckAccent Msg
    '==============
    Private Sub CheckAccent(strIn)
        Dim Trouve
    	For Cnt = 0 To Ubound(arrAccents)
    	   For i = 1 To Len(strIn)
    	      Trouve = (Chr(arrAccents(Cnt)) = Mid(strIn,i,1))
    		  If Trouve Then 
    		    Ret = Mid(strIn,i,1)
    		    MsgBox "Il y a un caractère accentué non autorisé [ " & Ret & " ]"  & " trouvé à la position " & Cstr(i) & " de la saisie." _
    	               & VbCrLf & " Veuillez vérifier votre orthographe."
    			Exit For
    		  End If	
    	   Next
        Next	   
    End Sub
    A cœur vaillant rien d'impossible
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec
    Vous pouvez voir Mes contributions

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •