Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Programme de cryptage (VBA excel )

blodclotboy, le samedi 11 octobre 2008 à 03:34:18
Bonjour,

voici un petit programme de VBA sur lequel j'aimerai avoir de l'aide SVP.

Cryptage
La cryptographie est le codage/décodage d’un message pour le rendre illisible à ceux qui n’ont pas accès au système de cryptage. Un système de cryptographie très difficile à briser fut inventé au XVIe siècle par le français Vigénère. Il consistait en une combinaison de différents « chiffres de César ».
On peut en effet écrire 25 alphabets décalés par rapport à l’alphabet normal :
• l’alphabet qui commence par B et finit par …YZA (alphabet décalé de +1)
• l’alphabet qui commence par C et finit par …ZAB (alphabet décalé de +2)
l’alphabet qui commence par Z et finit par …WXY (alphabet décalé de +25), etc…
Le codage va s’effectuer sur le principe du chiffre de César : on remplace la lettre d’origine par la lettre occupant la même place dans le nouvel alphabet décalé.
Mais à la différence du chiffre de César, un même message va utiliser non pas un, mais plusieurs alphabets décalés. Pour savoir quels alphabets doivent être utilisés, et dans quel ordre, on utilise une clé.
Si cette clé est "SOURCE" et le message est "premier travail pratique !", on procèdera comme suit :
La première lettre du message (en majuscule), « P », est la 16ème lettre de l’alphabet normal. Elle doit être codée en utilisant l’alphabet commençant par la première lettre de la clé, « S ». Dans cet alphabet, la 16eme lettre est le « H ». « P » devient donc un « H ».
La deuxième lettre du message (toujours en majuscule), « R », est la 18ème lettre de l’alphabet normal. Elle doit être codée en utilisant l’alphabet commençant par la deuxième lettre de la clé, « O ». Dans cet alphabet, la 18ème lettre est le « F ». R devient donc un « F », etc.
Quand on arrive à la dernière lettre de la clé, on recommence à la première. Les lettres de la clé seront ainsi utilisées de façon cyclique (eg. S,O, U, R,C, E,S,O,U,R,C, E, etc.).
Écrire l’algorithme qui effectue un cryptage de Vigénère, en demandant bien sûr au départ le message à coder et la clé à l’utilisateur.
Validations : Pour le message à coder, vous devez valider que le message n’est pas vide (longueur ≥ 1), et qu’il ne contient que les lettres majuscules ou minuscules et les caractères spéciaux suivants "., !’?". La présence de n’importe quel autre caractère dans le message rendra ce message non-valide.
Pour la clé, elle ne doit pas être vide (longueur ≥ 1), et ne doit contenir que les lettres "a..z, A...Z". Dans les 2 cas, vous aurez à convertir toutes les lettres en majuscule en tout temps.
Votre programme commence par demander et valider le message à coder. Ensuite il demande et valide la clé pour les chiffres de César. Finalement, il calcule et affiche le message crypté (dans un MsgBox), et il décodera le message crypté (avec la même clé) pour voir si on peut récupérer notre message de départ.
Exemple : Quel est le message ? premier travail pratique!
Quel est la clé ? source
Voici le message codé : HFYDKIJ NICZSWF RVSHCHWI!
Voici le message décodé : PREMIER TRAVAIL PRATIQUE!

Procédure de Démarrage Module_Menu
La procédure principale du programme permet à l'utilisateur de faire un choix parmi les trois suivants:
* 1 ou E, e pour faire exécuter l’ÉCHANGE THERMIQUE
* 2 ou C, c pour faire exécuter le CRYPTAGE d’un message
* ANNULER pour quitter le programme.
Le menu devra être présenté dans un InputBox, et le choix de l’utilisateur devra être redemandé s’il n’est pas valide.
Configuration: Windows XP
Firefox 3.0.1
Répondre à blodclotboy  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
wilfried_42, le samedi 11 octobre 2008 à 09:18:33
Bonjour

en fonction de ce que tu as posté, j'ai écrit quelque fonctions perso, utilisables dans un classeur (joint)
http://cjoint.com/?kljpnPjKHX
dans le module, en constante, un alphabet que tu peux modifier

mais je ne sais pas si j'ai répondu à ta question Cordialement
Wilfried
Répondre à wilfried_42

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 lami20j, le dimanche 12 octobre 2008 à 20:27:35
Salut,

tu fait clic sur le lien et tu télécharges le fichier
ensuite tu vas dans le VBA Editor

P.S. Pas d'adresse mail dans les messages. Merci. 106485010510997108
Répondre à lami20j

Résultats pour programme de cryptage (VBA excel )

[VBA / Excel] Textbox --> Integer (Résolu) Bonjour, je fais un programme sous VBA EXCEL (office 2003) pour mon entreprise pour récupérer des longeurs (en mm). Comme ces longueurs sont toujours sous formes d'entiers, j'ai crée une variable qui me permet de récupérer ces nombres en... www.commentcamarche.net/forum/affich-8801568-vba-excel-textbox-integer
Problème VBA Excel (Résolu) Bonjour, dans le cadre de mon travail de diplome je dois effectuer un programme sur VBA Excel. Mais là je bloque... je dois créer une boucle qui me permette de répéter une action sur tous les clients et je ne sais absolument pas comment m'y... www.commentcamarche.net/forum/affich-3794351-probleme-vba-excel
VBA Methode range a échouée (Résolu) Bonjour, je suis en train de programmer en VBA excel j'ai un compteur j qui doit me fournir un numéro de ligne. je souhaite faire fusionner des cellules. il faut donc que je selectionne les cellules a fusionner et appliquer la formule or je ne... www.commentcamarche.net/forum/affich-4865632-vba-methode-range-a-echouee

Résultats pour programme de cryptage (VBA excel )

Les variables dans la fonction INDEX (Résolu)Bonjour, Dans le cadre d'un petit programme sous VBA Excel 2003 je souhaite utiliser la fonction INDEX. Lorsque j'écris : Cells(1, 1).Value = "=INDEX([Projetxls.xls]Accueil!R5C1:R5C7,,2)" J'obtiens en A1 la valeur souhaitée. En revanche... www.commentcamarche.net/forum/affich-6705727-les-variables-dans-la-fonction-index
Go to Case... (Résolu)Bonjour, Je programme en VBA excel et j'aimerais mettre des instructions du type If Instruction then GO TO case.... De cette manière j'éviterais que si l'instruction n'est pas respectée, on va directement à la fin de mon programme.... www.commentcamarche.net/forum/affich-5344837-go-to-case
(VBA EXCEL)Userform Veuillez patientez (Résolu)Bonjour, Je suis entrain de faire un petit programme en VBA sur Excel, et dans ce programme à un moment donné il y a une mise à jour d'information provenant d'internet. Cette opération peut prendre quelques minutes selon la connexion de la... www.commentcamarche.net/forum/affich-5362781-vba-excel-userform-veuillez-patientez

Résultats pour programme de cryptage (VBA excel )

Télécharger Ms Word Excel CrackerMs Word Excel Craker est une application permettant de retrouver les mots de passe perdus ou oubliés pour les fichiers.xls ou .doc créés avec Microsoft Office 97, 2000, 2003, XP ou autres programmes Word ou Excel compatibles. Cette application vous... www.commentcamarche.net/telecharger/telecharger-34056121-ms-word-excel-cracker