Voici les lignes de code d'une fonction de cryptage que je m'exerce a réaliser :

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
Function Crypte(phraseacoder As String)
 
 Dim i As Long                      'définition de l'indice du caractère
 Dim caractere As String                  'définition de la variable contenant le caractère initial
 Dim caracterecode As String               'définition de la variable contenant le caractère final
 Dim longueur As Integer                    'définition de la variable qui contiendra la valeur du nombre de caractère dans la chaine a coder
 
i = -1                                             'affectation de la valeur -1 a i
longueur = Len(phraseacoder)             'affectation de la valeur de longueur de la chaine à la variable longueur
 
For i = -1 To longueur                         'debut de la boucle allant de i = 0 à i = longueur

    i = i + 1                                       'mise à zero de la variable i
    Mid(phraseacoder, i, 1) = caractere              'affectation de la valeur du premier caractère de la chaine à la variable caractère
    caracterecode = Replace(caractere, "a", "z")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "b", "y")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "c", "x")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "d", "w")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "z", "a")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "y", "b")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "x", "c")
    If caracterecode = caractere Then
    caracterecode = Replace(caractere, "w", "d")
    Else
    Mid(phraseacoder, i, 1) = caracterecode
    
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    
Next i

End Function
Une erreur m'est signalée lors de l'execution de la fonction Crypte :

Run-time error '5' : Invalid procedure call or argument

L'aide au débuggage me signal que l'erreur provient de la ligne que j'ai surlignée en rouge ci-dessus.

Si quelqu'un pouvait m'aider à résoudre ce problème je lui en serais reconnaissant.

Merci d'avance au(x) volontaire(s) éventuel(s)