Vous êtes sur la page 1sur 10

TD 22 Le chiffre de Vigenère

CONSEILS POUR ÉLABORER LE FICHIER LOGICIEL

Ce fichier comprend 10 pages, correspondant aux paragraphes A et B de l’énoncé.


Pages 1 et 2 : codage et décodage à l’aide des tableurs Excel ou OpenOffice
Page 3 : codage et décodage à l’aide du tableur de Ti-Nspire
Page 4 : codage et décodage à l’aide du tableur de Xcas
Pages 5 et 6 : codage et décodage par programmation sous Ti-Nspire
Pages 6 et 7 : codage et décodage par programmation sous Maxima
Pages 8 et 9 : codage et décodage par programmation sous Xcas
Pages 9 et 10 : codage et décodage par programmation sous OpenOffice
Page 10 : codage et décodage par programmation sous Excel

Excel ou OpenOffice

• Codage des lettres de l’alphabet avec la première clé


On réserve la ligne 1 pour les « titres » de colonnes : lettre, numéro, codage standard…
Pour obtenir les lettres de A à Z en colonnes A :
Dans la colonne B, on fait la liste des entiers entre 0 et 25 (voir Cahier de TD, p.5).
Dans la colonne A, on fait afficher le caractère ASCII correspondant au numéro de la colonne B :
Saisir =CAR(65+B2) en A2 ;
« Recopier » le contenu de cette cellule sur les lignes 3 à 27 : se placer sur la cellule à recopier et, comme sur
d’autres tableurs, saisir la petite croix qui se trouve dans le coin en bas à droite, puis descendre jusqu’à la
ligne 27.
Dans la colonne C, on fait afficher le numéro après utilisation de la première clé :
En C2, saisir =MOD(B2*3 ; 26)
Recopier vers le bas, pour compléter les lignes 3 à 27.

• Codage partiel puis total d’un message


On peut commencer par écrire le message verticalement, par exemple dans la colonne H, en mettant une
lettre par ligne.
Dans la colonne I, on peut écrire MATH… à raison d’une lettre par ligne.
On suppose ici que, pour pouvoir donner des titres aux colonnes, on commence en H3.
Codage partiel :
En J3, saisir =MOD(3*(CODE(H3)−65);26)
En K3, saisir =CAR(J3+65) pour savoir quelle lettre correspondrait au numéro obtenu avec la première clé.
Codage total :
En L3, saisir =MOD(J3+CODE(I3)−64;26) pour décaler le numéro obtenu en J3 de la position de la lettre
inscrite en I3.
En M3, saisir =CAR(L3+65) pour afficher la lettre du mot complètement codé.

 Bordas – Pixel 1 Photocopie autorisée


• Décodage « à la main »
On peut commencer par écrire le message codé verticalement, par exemple dans la colonne O, en mettant
une lettre par ligne.
Dans la colonne P, on peut écrire MATH… à raison d’une lettre par ligne.
On suppose ici que, pour pouvoir donner des titres aux colonnes, on commence en O3.
Décodage partiel : on commence par éliminer le décalage, ce qui peut être fait par le tableur :
En Q3, saisir =MOD(CODE(O3)−65−(CODE(P3)−64);26)
On obtient ainsi le codage obtenu après la seule application de la première clé.
On lit alors dans le premier tableau réalisé les lettres non codées associées, et on les écrit à la main en
colonne R.

• Décodage « automatisé »
On choisit une nouvelle feuille de tableur.
On peut commencer par écrire le message codé verticalement, par exemple dans la colonne A, en mettant
une lettre par ligne.
On suppose ici que, pour pouvoir donner des titres aux colonnes, on commence en A2.
Dans la colonne B, on fait afficher le numéro associé à la lettre de la colonne A :
En B2, saisir =CODE(A2)−65 ; « recopier » vers le bas.
Dans la colonne C, on peut écrire MATH… à raison d’une lettre par ligne.
Dans la colonne D, on fait afficher le numéro correspondant au décalage, c’est-à-dire le d de l’énoncé.
En D2, saisir : =CODE(C2)−64
Dans la colonne E, on fait afficher le numéro de la lettre non codée, donné par le reste de 9(numéro codé – d)
d’après la question B 3.
En E2, saisir =MOD(9*(B2−D2);26)
Dans la colonne F, on affiche le message initial, en transformant le numéro de la colonne E en une lettre :
En F2, saisir =CAR(E2+65)

 Bordas – Pixel 2 Photocopie autorisée


TI-Nspire
Ouvrir un Classeur, puis demander l’application Tableur & listes.

• Codage des lettres de l’alphabet avec la première clé


Pour obtenir les lettres de A à Z en colonnes A :
Dans la colonne B, on fait la liste des entiers entre 0 et 25 (voir Cahier de TD, p.5).
Dans la colonne A, on fait afficher le caractère ASCII correspondant au numéro de la colonne B :
Saisir =char(65+B1) en A1 et « recopier » le contenu de cette cellule les lignes 2 à 26 ou bien saisir
=char(b+65) dans la zone grisée de la colonne A.
Dans la colonne C, on fait afficher le numéro après utilisation de la première clé :
Saisir =mod(3*b,26) sur la ligne grisée.

• Codage partiel puis total d’un message


On peut commencer par écrire le message verticalement, par exemple dans la colonne E, en mettant une
lettre par ligne. Attention : les lettres doivent être saisies en les faisant précéder d’un guillemet.
Dans la colonne F, on peut écrire MATH… à raison d’une lettre par ligne.
On suppose ici que, pour pouvoir donner des titres aux colonnes, on commence en E2.
Codage partiel :
En G2, saisir =mod(3*(ord(e2)−65),26)
En H2, saisir =char(g2+65) pour savoir quelle lettre correspondrait au numéro obtenu avec la première clé.
Codage total :
En I2, saisir =mod(g2+ord(f2)−64,26) pour décaler le numéro obtenu en H2 de la position de la lettre inscrite
en F2.
En J2, saisir =char(i2+65) pour afficher la lettre du mot complètement codé.

• Décodage « à la main »
Dans une nouvelle page de tableur, garder les colonnes A, B et C de la page précédente.
On peut commencer par écrire le message codé verticalement, par exemple dans la colonne E, en mettant une
lettre par ligne.
Dans la colonne F, on peut écrire MATH… à raison d’une lettre par ligne.
On suppose ici que, pour pouvoir donner des titres aux colonnes, on commence en E2.
Décodage partiel : on commence par éliminer le décalage, ce qui peut être fait par le tableur :
En G2, saisir =mod(ord(e2)−65−(ord(f2)−64),26)
On obtient ainsi le codage obtenu après la seule application de la première clé.
On lit alors dans le premier tableau réalisé les lettres non codées associées, et on les écrit à la main en
colonne H.

• Décodage « automatisé »
On peut commencer par écrire le message codé verticalement, par exemple dans la colonne A, en mettant
une lettre par ligne.
Dans la colonne B, on fait afficher le numéro associé à la lettre de la colonne A :
Dans la zone grisée de la colonne B, saisir =ord(a)−65.
Dans la colonne C, on peut écrire MATH… à raison d’une lettre par ligne.
Dans la colonne D, on fait afficher le numéro correspondant au décalage, c’est-à-dire le d de l’énoncé.
Dans la zone grisée de la colonne D, saisir : =ord(c)−64
Dans la colonne E, on fait afficher le numéro de la lettre non codée, donné par le reste de 9(numéro codé – d)
d’après la question B 3.
Dans la zone grisée de la colonne E, saisir =mod(9*(b−d),26)
Dans la colonne F, on affiche le message initial, en transformant le numéro de la colonne E en une lettre :
Dans la zone grisée de la colonne F, saisir =char(e+65)
 Bordas – Pixel 3 Photocopie autorisée
Xcas

• Codage des lettres de l’alphabet avec la première clé


On réserve la ligne 1 pour les « titres » de colonnes : lettre, numéro, codage standard…
Pour obtenir les lettres de A à Z en colonnes A :
Dans la colonne B, on fait la liste des entiers entre 0 et 25 (voir Cahier de TD, p.5).
Dans la colonne A, on fait afficher le caractère ASCII correspondant au numéro de la colonne B :
Saisir =char(65+B1) en A1 ;
« Recopier » le contenu de cette cellule sur les lignes 2 à 26 : se placer sur la cellule à recopier et, lorsque la
main apparaît en bas à droite, descendre jusqu’à la ligne 26.
Dans la colonne C, on fait afficher le numéro après utilisation de la première clé :
En C1, saisir =irem(B1*3,26)
Recopier vers le bas, pour compléter les lignes 2 à 26.

• Codage partiel puis total d’un message


On peut commencer par écrire le message verticalement, par exemple dans la colonne E, en mettant une
lettre par ligne.
Dans la colonne F, on peut écrire MATH… à raison d’une lettre par ligne.
Codage partiel :
En G0, saisir =irem(3*(ord(E0)−65),26)
En H0, saisir =irem(G0+ord(F0)−64,26) pour décaler le numéro obtenu en G0 de la position de la lettre
inscrite en F0.
En I0, saisir =char(H0+65) pour afficher la lettre du mot complètement codé.

• Décodage « à la main »
On peut commencer par écrire le message codé verticalement, par exemple dans la colonne K, en mettant
une lettre par ligne.
Dans la colonne L, on peut écrire MATH… à raison d’une lettre par ligne.
Décodage partiel : on commence par éliminer le décalage, ce qui peut être fait par le tableur :
En M0, saisir =irem(ord(K0)−65−(ord(L0)−64),26)
On obtient ainsi le codage obtenu après la seule application de la première clé.
On lit alors dans le premier tableau réalisé les lettres non codées associées, et on les écrit à la main en
colonne N.

• Décodage « automatisé »
On choisit une nouvelle feuille de tableur.
On peut commencer par écrire le message codé verticalement, par exemple dans la colonne A, en mettant
une lettre par ligne.
On suppose ici que, pour pouvoir donner des titres aux colonnes, on commence en A1.
Dans la colonne B, on fait afficher le numéro associé à la lettre de la colonne A :
En B1, saisir =ord(A1)−65 ; « recopier » vers le bas.
Dans la colonne C, on peut écrire MATH… à raison d’une lettre par ligne.
Dans la colonne D, on fait afficher le numéro correspondant au décalage, c’est-à-dire le d de l’énoncé.
En D1, saisir : =ord(C1)−64
Dans la colonne E, on fait afficher le numéro de la lettre non codée, donné par le reste de 9(numéro codé – d)
d’après la question B 3.
En E1, saisir =irem(9*(B1−D1),26)
Dans la colonne F, on affiche le message initial, en transformant le numéro de la colonne E en une lettre :
En F1, saisir =char(E1+65)

 Bordas – Pixel 4 Photocopie autorisée


Programmation sous TI-Nspire

• Programmation d’une fonction codage


 Définir une fonction en saisissant Define codage(mot)=Func, ce qui crée une fonction appelée codage, qui
prendra comme variable un mot.
 Calculer le nombre de lettres qui composent le mot à crypter (instruction dim) et le stocker dans une
variable l. Le programme codera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motcode la variable qui contiendra le mot codé, et lettrecodee la variable qui
contiendra successivement le codage de chaque lettre du mot initial.
 Créer une boucle « Pour » qui va coder chaque lettre une par une et écrire au fur et mesure le mot codé.
Pour i allant de 1 à l
Stocker la ième lettre du mot dans lettre.
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire un test (« If… then…else ») pour attribuer une valeur à une variable d.
Si le reste de la division de i par 4 est 0, alors mettre position de H dans d.
Sinon, si le reste de la division de i par 4 est 3, alors mettre position de T dans d.

Fin du Si
Après le test, coder la lettre et stocker le caractère correspondant dans lettrecodee puis ajouter la lettre à
motcode (instruction &).

 Après le « Pour », afficher le mot crypté motcode.

• Programmation d’une fonction décodage


 Définir une fonction en saisissant Define decodage(mot)=Func, ce qui crée une fonction appelée
decodage, qui prendra comme variable un mot.
 Calculer le nombre de lettres qui composent le mot à décrypter et le stocker dans une variable l. Le
programme décodera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motvrai la variable qui contiendra le mot non codé, et lettrevraie la variable qui
contiendra successivement le décodage de chaque lettre du mot initial.
 Créer une boucle « Pour » qui va décoder chaque lettre une par une et écrire au fur et mesure le mot
décodé.
Pour i allant de 1 à l
Stocker la ième lettre du mot dans lettre.
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire le même test que dans la partie codage.
Après le test, décoder la lettre et stocker la lettre décodée dans lettrevraie.
Ajouter la lettre à motvrai (instruction &).

 Après le « Pour », afficher le mot décodé motvrai.

Éléments de syntaxe :
• Boucle “pour” :
For i,1,n
instructions du for
EndFor Suite des Éléments de syntaxe, page suivante…

 Bordas – Pixel 5 Photocopie autorisée


• Test “If... then... else” :
If condition 1 Then
instruction 1
Elseif condition 2 Then
instruction 2
....
Else
instruction
EndIf
• Numéro d’un caractère : ord(caractère)
Position du caractère dans l’alphabet : ord(caractère)–64
• Caractère correspondant à un numéro : char(nombre)
• Division euclidienne : mod

Maxima
Quelques éléments de syntaxe en page suivante.

• Programmation du codage
 Commencer par affecter à la variable mot la phrase à coder, sans espaces.
Saisir mot : phrase à coder
 Calculer le nombre de lettres qui composent le mot à crypter (fonction slength(mot)) et le stocker dans une
variable l. Le programme codera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motcode la variable qui contiendra le mot codé, et lettrecodee la variable qui
contiendra successivement le codage de chaque lettre du mot initial.
 Créer une boucle « Pour » qui va coder chaque lettre une par une et écrire au fur et mesure le mot codé.
Pour i allant de 1 à l
Stocker la ième lettre du mot dans lettre.
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire un test (« If… then…else ») pour attribuer une valeur à une variable d.
Si le reste de la division de i par 4 est 0, alors mettre position de H dans d
Sinon, si le reste de la division de i par 4 est 3, alors position de T-64 dans d

Fin du Si
Après le test, coder la lettre et stocker le caractère correspondant dans lettrecodee. Ajouter lettrecodee à
motcode (instruction concat).

 Après le « Pour », afficher le mot crypté motcode (instruction display(motcode)).


 Exécuter le « programme » en choisissant Editer, Cell, Evaluate cell.

 Bordas – Pixel 6 Photocopie autorisée


• Programmation du décodage
 Commencer par affecter à la variable mot la phrase à décoder, sans espaces (mot : phrase à décoder)
 Calculer le nombre de lettres qui composent le mot à décrypter et le stocker dans une variable l. Le
programme décodera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motvrai la variable qui contiendra le mot non codé, et lettrevraie la variable qui
contiendra successivement le décodage de chaque lettre du mot initial.
 Créer une boucle « Pour » qui va décoder chaque lettre une par une et écrire au fur et mesure le mot
décodé.
Pour i allant de 1 à l
Stocker la ième lettre du mot dans lettre.
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire le même test que dans la partie codage.
Après le test, décoder la lettre et stocker la lettre décodée dans lettrevraie.
Ajouter la lettre à motvrai (instruction concat).

 Après le « Pour », afficher le mot décodé motvrai (instruction display(motvrai)).


 Exécuter le « programme » en choisissant Editer, Cell, Evaluate cell.

Eléments de syntaxe :
• Boucle “pour” :
(for i from 1 thru n step 1 do
(
instructions du for
)
)
• Test “If... then... else” :
(if condition 1 then instruction 1
elseif condition 2 then instruction 2)
....
else instruction
)
• Numéro d’un caractère : cint(caractère)
Position du caractère dans l’alphabet : cint(caractère)–64
• Caractère correspondant à un numéro : ascii(nombre)
• Division euclidienne : mod

 Bordas – Pixel 7 Photocopie autorisée


Xcas

• Programmation du codage
 Créer une fonction codage : codage(mot) :={ corps du programme}
mot sera la variable qui contiendra le mot à coder.
 Calculer le nombre de lettres qui composent le mot à crypter (fonction size(mot)) et le stocker dans une
variable l. Le programme codera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motcode la variable qui contiendra le mot codé, et lettrecodee la variable qui
contiendra successivement le codage de chaque lettre du mot initial.
 Créer une boucle « Pour » qui va coder chaque lettre une par une et écrire au fur et mesure le mot codé.
Pour j allant de 1 à l
Stocker la jème lettre du mot dans lettre (la jème lettre étant donnée par mot[j–1]).
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire un test (« If… then…else ») pour attribuer une valeur à une variable d.
Si le reste de la division de i par 4 est 0, alors mettre ord(H)-64 dans d.
Sinon, si le reste de la division de i par 4 est 3, alors mettre ord(T)-64 dans d.

Fin du Si
Après le test, coder la lettre et stocker le caractère correspondant dans lettrecodee.
Ajouter lettrecodee à motcode (instruction concat(motcode, lettrecodee)).

• Programmation du décodage
 Créer une fonction decodage : decodage(motc) :={ corps du programme}
motc sera la variable qui contiendra le mot à coder.
 Calculer le nombre de lettres qui composent le mot à décrypter et le stocker dans une variable l. Le
programme décodera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motvrai la variable qui contiendra le mot non codé, et lettrevraie la variable qui
contiendra successivement le décodage de chaque lettre du mot initial.
 Créer une boucle « Pour » qui va décoder chaque lettre une par une et écrire au fur et mesure le mot
décodé.
Pour j allant de 1 à l
Stocker la jème lettre du mot dans lettre
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire le même test que dans la partie codage.
Après le test, décoder la lettre et stocker la lettre décodée dans lettrevraie.
Ajouter la lettre à mot (instruction concat).

Éléments de syntaxe :
• Boucle “pour” :
for (j:=1;j<=n;j:=j+1) {
instructions du for
}
• Test “if... then... else” :
if condition 1 {instruction 1}
else { Suite des Éléments de syntaxe, page suivante…
 Bordas – Pixel 8 Photocopie autorisée
if condition 2 {instruction 2}
....
else {instruction}
}
• Numéro d’un caractère : ord(caractère)
Position du caractère dans l’alphabet : ord(caractère)–64
• Caractère correspondant à un numéro : char(nombre)
• Division euclidienne : irem

OpenOffice

Quelques éléments de syntaxe en fin de page et page suivante

• Création de nouvelles fonctions


 Créer une fonction Codage que l’on pourra utiliser dans le tableur : Outils, Macro, Gérer les macros,
OpenOffice Basic. Pour créer une macro interne au fichier MonFichier, développer l’arborescence
correspondant à Monfichier.ods et aller sur Module1. Choisir Editer.
Dans la feuille qui apparaît, saisir Function Codage(mot as String) as String pour définir une fonction qui
« prend » une chaîne de caractères et retourne une chaîne de caractères. Ici, la chaîne de caractère sera
stockée dans la variable mot.
 Calculer le nombre de lettres qui composent le mot à crypter (fonction Len(mot)) et le stocker dans une
variable l. Le programme codera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motcode la variable qui contiendra le mot codé. Appeler lettrecodee la lettre codée à
chaque étape.
 Créer une boucle « Pour » qui va coder chaque lettre une par une et écrire au fur et mesure le mot codé.
Pour i allant de 1 à l
Stocker la ième lettre du mot dans lettre (instruction mid).
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire un test (« If… then…else ») pour attribuer une valeur à une variable d.
Si le reste de la division de i par 4 est 0, alors mettre position de H dans d.
Sinon, si le reste de la division de i par 4 est 3, alors mettre position de T dans d.

Fin du Si
Après le test, coder la lettre et stocker le caractère correspondant dans lettrecodee.
Ajouter lettrecodee à motcode (instruction motcode+lettrecodee).
 Après la boucle, affecter à codage le mot codé : codage = motcode
 Dans une cellule du tableur, on peut alors saisir : =Codage(ATTENTIONDANGER)

La programmation du décodage est similaire.

Éléments de syntaxe :
• Boucle “pour” :
For i = 1 To n
Instructions
Next i Suite des Éléments de syntaxe, page suivante…

 Bordas – Pixel 9 Photocopie autorisée


• Test “If... then... else” :
If condition 1 Then
instruction 1
ElseIf condition 2 Then
instruction 2
....
Else
instruction
End If
• Numéro d’un caractère : Asc (caractère)
Position du caractère dans l’alphabet : Asc (caractère)–64
• Caractère correspondant à un numéro : Chr(nombre)
• Division euclidienne : à faire à la main

Programmation sous Excel


• Création de nouvelles fonctions
 Créer une fonction Codage que l’on pourra utiliser dans le tableur : Outils, Macro, Visual Basic Editor.
Aller dans Insertion et choisir Module.
Saisir alors exactement les mêmes programmes que sous OpenOffice.

• Création d’une macro lisant une cellule et écrivant dans une autre
 Créer une macro codage, qui prendra le mot contenu dans une cellule et le codera : Outils, Macro,
Nouvelle Macro. Cliquer sur Arrêter l’enregistrement, puis choisir Outils, Macro, Macros. Choisir Codage et
cliquer sur Modifier.
Dans la procédure appelée Sub Codage() :
 Affecter à la variable mot le contenu de la cellule B1 (cells(2,1))
Calculer le nombre de lettres qui composent le mot à crypter (fonction Len(mot)) et le stocker dans une
variable l. Le programme codera le mot lettre par lettre, grâce à une boucle.
 Appeler par exemple motcode la variable qui contiendra le mot codé à l’étape 2, et motVig la variable qui
contiendra le codage final. Appeler lettrecode et lettreVig la lettre codée à chaque étape.
 Créer une boucle « Pour » qui va coder chaque lettre une par une et écrire au fur et mesure le mot codé.
Pour i allant de 1 à l
Stocker la ième lettre du mot dans lettre (instruction mid).
Déterminer le décalage à appliquer en fonction de la position de la lettre : si la lettre est en position 4, 8…, le
décalage correspondra à la position de la lettre H dans l’alphabet ; si la lettre est en position 3, 7,…, le
décalage correspondra à la position de la lettre T dans l’alphabet…
Pour cela, on va faire un test (« If… then…else ») pour attribuer une valeur à une variable d.
Si le reste de la division de i par 4 est 0, alors mettre Asc(H)-64 dans d.
Sinon, si le reste de la division de i par 4 est 3, alors mettre Asc(T)-64 dans d.

Fin du Si
Après le test, coder la lettre et stocker les caratères correspondants dans lettrecodee et dans lettreVig.
Ajouter lettrecodee à motcode (instruction motcode+lettrecodee), et lettreVig à motVig.
 Après la boucle, afficher les mots, par exemple en B2 et B3 (Cells(2,2) = motcode…)

La fonction décodage se programme de la même manière.


On peut alors créer un bouton Codage, auquel on associe la macro.
 Bordas – Pixel 10 Photocopie autorisée

Vous aimerez peut-être aussi