IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Quelques questions (débutant..)


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut Quelques questions (débutant..)
    Bonjour tout le monde,

    Je suis en train de créer un script permettant de créer un login pour un utilisateur à partir d'un nom et prenom entrée en inputbox. Ainsi qu'un mot de passe généré aléatoirement (fonction random). J'ai quelques soucis au niveau d'une partie de la création du mot de passe et des fonctions pour la création du login.

    Au niveau du password:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function FaleaCar()
     
    Dim CarSpec 
    Dim Cara
     
    CarSpec =  ":()`!%$^&*-+=|\{}[];.?/"
     
    Cara = Mid(CarSpec, Falea (1, Len (CarSpec), 1)) //Erreur code 800A01C2
    FaleaCar = Cara
     
    End Function
    la fonction nombre aléatoire (falea):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function Falea (Min, Max)
    Randomize
          Falea = Int((Max - Min +1)* Rnd +Min)
     
    End Function
    Au niveau de l'utilisateur: je comprend pas comment faire une fonction d'une fonction à partir d'une variable qui à reçu les valeurs de l'instruction de la fonction. (Dans le cas la, je veux tout d'abord virer les espaces puis avec une autre fonction (déja créer) supprimer les accents et mettre le tout en minuscules)

    Le programme principal:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Dim Prenom, Nom, password, PrenomSScaracteres, NomSScaracteres
    Dim login 'login généré en final'
     
    'filtrage des espaces, appel fonction chaines sans espaces'
     
    Prenom = ""
    Nom = ""
    PrenomSScaracteres = ""
    NomSScaracteres = ""
     
    Prenom = Fchaine_s_espace_Prenom (PrenomSSespace)
    Nom = Fchaine_s_espace_Nom (NomSSespace)
     
    Prenom = PrenomSSespace 
    Nom = NomSSespace
     
    If Nom = "" Or Prenom = "" Then
        MsgBox "Erreur, nom ou prenom vide"
    Else
     
    'Filtrage des caractères spéciaux et remplacement des accents + minuscule'
     
    PrenomSScaracteres = Prenom&(Flog_Prenom)
    NomSScaracteres = Nom&(Fchaine_nom)
     
    End IF
    'Nom = Fchaine_s_espace_Nom (NomSSespace)
     
    'Prenom = Fchaine_s_espace_Prenom (PrenomSSespace)
     
     
    'filtrage des tiret, appel fonction chaines sans tiret prenom'
     
    'Prenom = Flog_prenom_ssTiret (Machaine) &  Flog_Prenom()   'nom sans tiret ?'
     
    login = Prenom & Nom 
    password = LetrreMajAlea()&CinqLetrreMinAlea()&FaleaCar()&FaleaChiffre() 'Une lettre majusucule suivie de 5 lettre minuscules suivie d'un caractère spécial et suivi d'un chiffre
     
    MsgBox "le login utilisateur crée à partir de: " & Prenom & " " & Nom & " est " & login & Chr(13) & "avec comme mot de passe: " & password
    Merci d'avance pour votre aide.

    ps: le code compet au pire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    						           'FILTRAGE NOM ET PRENOM DE LEUR CARACTERES SPÉCIAUX
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fonction filtrage caractères spéciaux prénom et miniscule'
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Function Flog_Prenom()
     
    Dim PPrenom, lettre, Prenom, LettrePrenom
     
    LettrePrenom = ""
     
    PPrenom = LCase(Prenom)
     
    lettre = Mid (PPrenom,1,1)
     
    If(lettre >="a" and lettre =<"z") Then
                LettrePrenom = lettre
     
     
    Else
     
    Select Case Asc (lettre)
           Case 232, 233, 234, 235
           LettrePrenom = "e"
           Case 224, 225, 226, 227, 229, 230
           LettrePrenom = "a"
           Case 236, 237, 238, 239
           LettrePrenom = "i"
           Case 242, 243, 244, 245, 246, 248
           LettrePrenom = "o"
           Case 249, 250, 251, 252
           LettrePrenom = "u"
     
    End Select
     
    End If
     
    End Function
     
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fonction filtrage caractères spéciaux nom et miniscule
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Function Fchaine_nom()
     
    Dim PNom, lettre, Nom, NomSSMaj
     
    NomSSMaj = ""
     
    PNom = LCase(nom)
     
    lettre = Pnom
     
    If(lettre >="a" and lettre =<"z") Then
                 NomSSMaj = lettre
     
     
    Else
     
    Select Case Asc (lettre)
           Case 232, 233, 234, 235
           NomSSMaj = "e"
           Case 224, 225, 226, 227, 229, 230
           NomSSMaj = "a"
           Case 236, 237, 238, 239
           NomSSMaj = "i"
           Case 242, 243, 244, 245, 246, 248
           NomSSMaj = "o"
           Case 249, 250, 251, 252
           NomSSMaj = "u"
     
    End Select
     
    End If
     
    End Function
     
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                                 'FONCTION FILTRAGE ESPACE ET TIRET
     
     
    ''''''''''''''''''''''''''''''
    'Fonction filtrage espace Prenom
     
    '''''''''''''''''''''''''''''
     
    Function Fchaine_s_espace_Prenom (PrenomSSespace)
     
    PrenomSSespace = Inputbox ("prenom")
     
    PrenomSSespace = Replace(PrenomSSespace, " ", vbNullString)
     
    End Function
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fonction filtrage espace Nom
     
    '''''''''''''''''''''''''''''
    Function Fchaine_s_espace_Nom (NomSSespace)
     
    NomSSespace = Inputbox ("nom")
     
    NomSSespace = Replace(NomSSespace, " ", vbNullString)
     
    End Function
     
     
    ''''''''''''''''''''''''''''''
    'Fonction filtrage des tirets
     
    '''''''''''''''''''''''''''''
     
    Function Flog_prenom_ssTiret (Machaine) 
     
    Dim i
     
    Flog_prenom_ssTiret = mid (Machaine,1,1) ' prend le 1 er caractére
     
    For i = 2 To Len(Machaine)
    	If mid (Machaine,i,1) = "-" Then     ' test si tiret
    		Flog_prenom_ssTiret = Flog_prenom_ssTiret & mid (Machaine,i+1,1) ' prend caractére suivant
    	End If
    Next		
     
    End Function
     
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''						
    					                    	'CREATION PASSWORD
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
    ''''''''''''''''''''''''''''''
    'Fonction lettre Maj pour password
     
    '''''''''''''''''''''''''''''
    Function LetrreMajAlea()
     
    LetrreMajAlea = Chr(Falea (Asc ("A"), Asc ("Z")))
     
    End Function
     
    ''''''''''''''''''''''''''''''
    'Fonction lettre Min pour password
     
    '''''''''''''''''''''''''''''
    Function LetrreMin()
     
    LetrreMin = Chr(Falea (ASc ("a"), ASc ("z")))
     
    End Function
     
     
    ''''''''''''''''''''''''''''''
    'Fonction 5 lettre min pour password
     
    '''''''''''''''''''''''''''''
     
    Function CinqLetrreMinAlea()
     
    Dim i, letrreMinChaine
     
    letrreMinChaine = LetrreMin()
     
    For i= 1 To 5
     
    lettreMinChaine = lettreMinChaine & LetrreMin()
    CinqLetrreMinAlea = lettreMinChaine
     
    Next
     
    End Function
     
     
    ''''''''''''''''''''''''''''''
    'Fonction choisir un caractère spécial
     
    '''''''''''''''''''''''''''''
     
    Function FaleaCar()
     
    Dim CarSpec 
    Dim Cara
     
    CarSpec =  ":()`!%$^&*-+=|\{}[];.?/"
     
    Cara = Mid(CarSpec, Falea (1, Len (CarSpec), 1))
    FaleaCar = Cara
     
    End Function
     
    ''''''''''''''''''''''''''''''
    'Fonction chiffre aléatoire entre 0 et 9
     
    '''''''''''''''''''''''''''''
    Function FaleaChiffre()
     
    FaleaChiffre = Falea (0,9)
     
    End Function
     
    ''''''''''''''''''''''''''''''
    'Fonction nombre aléatoire
     
    '''''''''''''''''''''''''''''
     
    'cette fonction retourne un nombre aléatoire
    'entre les bornes passées en paramètre
     
    Function Falea (Min, Max)
    Randomize
          Falea = Int((Max - Min +1)* Rnd +Min)
     
    End Function
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                         'PROGRAMME PRINCIPAL
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Dim Prenom, Nom, password, PrenomSScaracteres, NomSScaracteres
    Dim login 'login généré en final'
     
    'filtrage des espaces, appel fonction chaines sans espaces'
     
    Prenom = ""
    Nom = ""
    PrenomSScaracteres = ""
    NomSScaracteres = ""
     
    Prenom = Fchaine_s_espace_Prenom (PrenomSSespace)
    Nom = Fchaine_s_espace_Nom (NomSSespace)
     
    Prenom = PrenomSSespace 
    Nom = NomSSespace
     
    If Nom = "" Or Prenom = "" Then
        MsgBox "Erreur, nom ou prenom vide"
    Else
     
    'Filtrage des caractères spéciaux et remplacement des accents + minuscule'
     
    PrenomSScaracteres = Prenom&(Flog_Prenom)
    NomSScaracteres = Nom&(Fchaine_nom)
     
    End IF
    'Nom = Fchaine_s_espace_Nom (NomSSespace)
     
    'Prenom = Fchaine_s_espace_Prenom (PrenomSSespace)
     
     
    'filtrage des tiret, appel fonction chaines sans tiret prenom'
     
    'Prenom = Flog_prenom_ssTiret (Machaine) &  Flog_Prenom()   'nom sans tiret ?'
     
    login = Prenom & Nom 
    password = LetrreMajAlea()&CinqLetrreMinAlea()&FaleaCar()&FaleaChiffre() 'Une lettre majusucule suivie de 5 lettre minuscules suivie d'un caractère spécial et suivi d'un chiffre
     
    MsgBox "le login utilisateur crée à partir de: " & Prenom & " " & Nom & " est " & login & Chr(13) & "avec comme mot de passe: " & password

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut
    Personne ?

    J'ai simplifié le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                         'PROGRAMME PRINCIPAL
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Dim Prenom, Nom, password, PrenomSStiret
    Dim login 'login généré en final'
     
    Prenom = ""
    Nom = ""
    NomInitial = ""
    PrenomInitial= ""
     
    NomInitial = InputBox ("entrez votre nom")
    PrenomInitial = InputBox ("entre votre Prenom (si double prénom, saisir un -) ")
     
    'filtrage des espaces, appel fonction chaines sans espaces'
     
    Nom = Fchaine_s_espace_Nom (Nominitial)
    Prenom = Fchaine_s_espace_Prenom (PrenomInitial)
     
    Prenom = PrenomInitial
    Nom = Nominitial
     
    If Nom = "" Or Prenom = "" Then
        MsgBox "Erreur, nom ou prenom vide"
    Else
     
    'Filtrage des caractères spéciaux et remplacement des accents + minuscule + tirets'
     
    Prenom = Flog_prenom_ssTiret(Flog_Prenom(Prenom))
     
    Nom = Fchaine_nom (Nom)
     
    End If   
     
     
    login = Prenom & Nom 
    password = LetrreMajAlea()&CinqLetrreMinAlea()&FaleaCar()&FaleaChiffre() 'Une lettre majusucule suivie de 5 lettre minuscules suivie d'un caractère spécial et suivi d'un chiffre
     
    MsgBox "le login utilisateur crée à partir de: " & PrenomInitial & " " & NomInitial & " est " & login & Chr(13) & "avec comme mot de passe: " & password

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fonction filtrage caractères spéciaux prénom et miniscule'
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Function Flog_Prenom()
     
    Dim PPrenom, lettre, Prenom, LettrePrenom
     
    LettrePrenom = ""
     
    PPrenom = LCase (Fchaine_s_espace_Prenom (Prenom))
     
    lettre = PPrenom
     
    If(lettre >="a" and lettre =<"z") Then
                LettrePrenom = lettre
     
     
    Else
     
    Select Case Asc (lettre)
           Case 232, 233, 234, 235
           LettrePrenom = "e"
           Case 224, 225, 226, 227, 229, 230
           LettrePrenom = "a"
           Case 236, 237, 238, 239
           LettrePrenom = "i"
           Case 242, 243, 244, 245, 246, 248
           LettrePrenom = "o"
           Case 249, 250, 251, 252
           LettrePrenom = "u"
     
    End Select
     
    End If
     
    End Function
     
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fonction filtrage caractères spéciaux nom et miniscule
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Function Fchaine_nom()
     
    Dim PNom, lettre, Nom, NomSSMaj
     
    NomSSMaj = ""
     
    PNom = LCase (Fchaine_s_espace_Nom(Nom))
     
    lettre = PNom
     
    If(lettre >="a" and lettre =<"z") Then
                    NomSSMaj = lettre
     
     
    Else
     
    Select Case Asc (lettre)
           Case 232, 233, 234, 235
           NomSSMaj = "e"
           Case 224, 225, 226, 227, 229, 230
           NomSSMaj = "a"
           Case 236, 237, 238, 239
           NomSSMaj = "i"
           Case 242, 243, 244, 245, 246, 248
           NomSSMaj = "o"
           Case 249, 250, 251, 252
           NomSSMaj = "u"
     
     
    End Select
     
    End If
     
    End Function


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ''''''''''''''''''''''''''''''
    'Fonction filtrage des tirets
     
    '''''''''''''''''''''''''''''
     
    Function Flog_prenom_ssTiret (Machaine) 
     
    Dim i
     
    Flog_prenom_ssTiret = mid (Machaine,1,1) ' prend le 1 er caractére
     
    For i = 2 To Len(Machaine)
    	If mid (Machaine,i,1) = "-" Then     ' test si tiret
    		Flog_prenom_ssTiret = Flog_prenom_ssTiret & mid (Machaine,i+1,1) ' prend caractére suivant
    	End If
    Next		
     
    End Function

Discussions similaires

  1. [Débutant] Quelques questions bêtes...
    Par Stomp dans le forum Windows
    Réponses: 2
    Dernier message: 02/08/2019, 11h47
  2. Quelques questions (débutant..)
    Par klue_ dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/10/2008, 15h21
  3. [Débutant]Quelques questions de principe sur l'API win32
    Par silver_dragoon dans le forum Windows
    Réponses: 4
    Dernier message: 19/03/2004, 18h38
  4. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo