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

Access Discussion :

Fonction avec 2 données en entrée


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Octobre 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 93
    Points : 90
    Points
    90
    Par défaut Fonction avec 2 données en entrée
    Je cherche à créer une fonction de cryptage adaptée du code proposé par M Hubiche Maxence.
    Cette fonction serait du type:
    Crypter(Texteacrypter, clef)

    Ca paraissait simple, mais je n'y arrive pas. J'aimerais vos avis

    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
     
    '---------------------------------------------------------------------------------------
    ' Procedure :                       Crypterbis adaptée de la procédure Crypter de Maxence HUBICHE
    ' Site de la procédure originelle : <a href="http://mhubiche.developpez.com" target="_blank">http://mhubiche.developpez.com</a>
    ' Objet                           : Crypter la chaîne chaîneACrypter en fonction d'une clef et de la méthode
    '                                   de Vigenère
    '---------------------------------------------------------------------------------------
    Public Function Crypterbis(ByVal chaîneACrypter As String, Clefgénérée As String)
     
    Dim sLettres    As String
    Dim lCompteur   As Long
    Dim lLongueur   As Long
     
    'Détermination de la longueur du mot de passe à crypter
    lLongueur = Len(chaîneACrypter)
    sLettres = String(lLongueur, Chr(0))
     
    'Remplacement lettre pour lettre de chaque caractère du mot de passe
    For lCompteur = 1 To lLongueur
       'Somme les valeurs ASCII du caractère à crypter et celle du caractère correspondant
       'de la clef en retranchant 255 si cette somme est supérieure à 255.
    If (Asc(Mid(chaîneACrypter, lCompteur, 1)) + Asc(Mid([Clefgénérée], lCompteur, 1))) > 255 Then
       Mid(sLettres, lCompteur, 1) = Chr(Asc(Mid(chaîneACrypter, lCompteur, 1)) + _
       Asc(Mid([Clefgénérée], lCompteur, 1)) - 255)
       Else
       Mid(sLettres, lCompteur, 1) = Chr(Asc(Mid(chaîneACrypter, lCompteur, 1)) + _
       Asc(Mid([Clefgénérée], lCompteur, 1)))
    End If
    'recommencer
    Next
    'Restitue le résultat de la substitution
    Crypter = sLettres
    End Function
    Merci !

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Je ne suis pas sûr d'avoir tout vu, mais je te signale 2 erreurs :
    au lieu dej'écriraisLa fonction ne renvoie rien...

    et au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mid([Clefgénérée], lCompteur, 1)
    j'écrirais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Mid([Clefgénérée], iif(lCompteur MOD Len(ClefGénérée)=0, _
    len(ClefGénérée), lCompteur Mod Len(ClefGénérée)), 1)
    Erreur si la clé a une longueur plus petite que le texte.

    Bon courage,

    pgz

  3. #3
    Membre régulier
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Octobre 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 93
    Points : 90
    Points
    90
    Par défaut Merci Merci Merci



    Grand merci à toi pgz !

    Le but de ce code était de prendre place dans un module afin d'être appelé à de nombreuses occasions.
    C'est quand même plus sympa d'envoyer d'un seul coup le texte à coder et la clef à utiliser.

    Ca marche !


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

Discussions similaires

  1. Fonction avec différentes tables en entrée
    Par MED02 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 17/01/2014, 11h01
  2. [XL-2003] Créer une fonction avec plage de données
    Par coklin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/12/2009, 13h01
  3. Réponses: 1
    Dernier message: 04/05/2009, 21h46
  4. Réponses: 2
    Dernier message: 16/10/2007, 10h53
  5. Réponses: 3
    Dernier message: 01/06/2006, 19h45

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