OVH Cloud OVH Cloud

retour de valeur de fonction ?

1 réponse
Avatar
Axel
Bonjour
J ai une feuille excel avec une liste de login, et je voudrais generer
dans une colonne des mots de passe.
J ai recupéré une fonction :

Sub GenererPassword()
'
'
Dim iChar As Integer
Dim Pwd As String
Pwd = ""
Do
Randomize
iChar = Rnd() * 123
Select Case iChar
Case 48 To 57, 65 To 90, 97 To 122
Pwd = Pwd & Chr(iChar)
Case Else
End Select
Loop Until Len(Pwd) = 8
Pwd
End Sub

Et ajouté un bouton avec le code suivant :


Sub Parcours()

Dim indice As Integer
indice = 1
While Feuil1.Range("A").Value <> ""
If (Feuil1.Range("B" & indice).Value = "") Then
Feuil1.Range("B" & indice).Value = Module1.GenererPassword
End If
End Sub


Seulement, j ai une erreur à la ligne :
...Value = Module1.GenererPassword

Qu est ce que j ai oublié ?

Merci d avance pour votre aide.

1 réponse

Avatar
Jero
Bonjour,

Sub Sub GenererPassword doit devenir Function GenererPassword
Une Sub ne renvoie pas de valeur, une fonction oui

En fin de Function :
GenererPassword = Pwd

Dans la sub Parcours, tu peux récupérer la valeur de GenererPassword

Peut-être aussi, allez voir du côté des variables ou fonctions "Public"
Jero

"Axel" a écrit dans le message de news:
424c11cb$0$817$
Bonjour
J ai une feuille excel avec une liste de login, et je voudrais generer
dans une colonne des mots de passe.
J ai recupéré une fonction :

Sub GenererPassword()
'
'
Dim iChar As Integer
Dim Pwd As String
Pwd = ""
Do
Randomize
iChar = Rnd() * 123
Select Case iChar
Case 48 To 57, 65 To 90, 97 To 122
Pwd = Pwd & Chr(iChar)
Case Else
End Select
Loop Until Len(Pwd) = 8
Pwd
End Sub

Et ajouté un bouton avec le code suivant :


Sub Parcours()

Dim indice As Integer
indice = 1
While Feuil1.Range("A").Value <> ""
If (Feuil1.Range("B" & indice).Value = "") Then
Feuil1.Range("B" & indice).Value = Module1.GenererPassword
End If
End Sub


Seulement, j ai une erreur à la ligne :
...Value = Module1.GenererPassword

Qu est ce que j ai oublié ?

Merci d avance pour votre aide.