Remplacer une lettre par une autre

Bonjour Forum

Est-il possible de remplacer une lettre par une autre mais dans la ligne en dessous.

r https://www.excel-pratique.com/~files/doc2/N_1_Substitution_monoalpha.xls

Ex : A1 X le remplacer par E en A2

Merci

Adrien

Bonjour,

Un essai avec ce que j'ai compris :

en A2 :

=SI(A1="";"";INDEX($AX$1:$AX$26;EQUIV(A1;$AV$1:$AV$26;0))&"")

à recopier vers la droite, puis sur chaque ligne paire.

Je te laisse tester

@+

12satisfaction.xlsx (62.65 Ko)

Bonsoir thibo, Bonsoir Forum

Merci de t'être penché sur ma question. Ca fonctionne pour la première ligne mais quand je passe à la deuxième la formule me fait une répétition de la première.

Ce que je voyais de ma fenêtre mais c'est peut être irréalisable ou alors trop complexe, c'est : une boite à dialogue je pourrais dire au système, à chaque fois que tu rencontres un X noir tu écris E rouge en dessous. Et comme ca pour chaque lettre de l'alphabet.

Il faudrait que ce soit modifiable à volonté. Là il s'avère que le X remplace bien le E mais en début de décryptage on fait des tests et l'on s'aperçoit à la lecture que ce n'est pas bon.

J'espère que tu as saisi ma pensée.

A+

Adrien

Salut adrien et le forum,

Voici la formule à recopier vers la droite puis sur chaque ligne paire :

=SI(A1="";"";RECHERCHEV(A1;$AV$1:$AX$26;3;FAUX))

Et il y a une ou deux fautes dans ton tableau de correspondance lettre cryptée/lettre décryptée.

Par exemple, au "S" crypté ne correspond pas le "G" décrypté. Le "G" décrypté correspond au "W" crypté.

a+

Bonsoir vba-new

Je rencontre le même pb lorsque je veux traiter la deuxième ligne. Fichier joint

Le message est presque totalement décrypté. Il y quelques erreurs dues à des fautes de saisie principalement.

https://www.excel-pratique.com/~files/doc2/N_1_Substitution_monoalpha_V2.xls

A+

Adrien

Bonsoir adrien.

Apparemment toi tu fais un copier-coller de la formule.

Il suffit juste de cliquer sur la cellule A2 et faire un copier-coller vers la cellule B4. Il ne faut pas intervenir dans la barre de formule.

Voilà. Dis-moi si ça marche!

RE

Il y a quelque chose que je ne saisi pas bien. Je fais un copier coller de la formule en A2, je l'étire jusqu'en AR2 (là ca marche). Comment je passe en A4 ?

A+

Adrien

Salut adrien,

1. Tu vas sur la cellule A2 puis tu fais clic droit -> copier

2. Tu te places ensuite sur la cellule A4 (pas dans la barre de formule) puis tu fais clic droit -> coller.

3. Puis tu étires jusqu'à AR4.

Normalement ça devrait fonctionner.

Bonsoir vba-new

Enfin, le gars il a compris. Excuse mais des fois il faut m'expliquer plus d'une fois.

Avec ta formule je ne peux pas changer de lettre si en cours de déchiffrement je m'apercois que par exemple le T ne remplace pas le N mais le S, si je tape S en B2 c'est pas bon.

A+

Adrien

Salut adrien,

Pourquoi taper une lettre en B2

Puisque qu'il y a une formule en B2, normalement il ne faut pas y toucher!

Tu parles peut-être de la cellule B1 plutôt non?

RE

Je crois que l'on est pas sur la même longueur d'onde. C'est surement de ma faute car j'aurais du commencer par le commencement.

Dans le fichier joint tu verras le message tel qu'il est au début. Je commence par compter les lettres. Dans l'ex je m'apercois que le X se détache franchement avec 248 apparitions donc à priori le X remplace le E. Donc je voudrais pouvoir automatiquement écrire un E sous chaque X. et comme cela pour chaque lettre au fur et à mesure de leur découverte.

Dans certains messages les écarts sont infimes et l'on fait des essais le E à la place du X ou à la place du R.

https://www.excel-pratique.com/~files/doc2/Substitution_monoalpha.xls

A+

Adrien

Salut Adrien,

On va y arriver

Pas bête la méthode pour le début du décryptage (quelles sont les lettres les plus utilisées) soit dit en passant

En fait il me semblait avoir compris. La cellule B2 contient une formule (dans le fichier ci-dessous) donc il ne faut pas y toucher.

Ce qu'il faut modifier si tu veux mettre un E à la place du R par exemple, c'est la colonne AX.

Regarde le fichier joint Adrien, j'ai mis la formule pour la première ligne de décodage (ligne n°2 pour excel). Si à la place du E (dans la colonne AX) tu mets un S par exemple, des S vont se mettre automatiquement sous les X.

https://www.excel-pratique.com/~files/doc2/Copie_de_Substitution_monoalpha.xls

J'ai bon?

RE

Je crois que c'est un excellent début. Il faut tester sur plusieurs crypto. Si ca ne te dérange pas ce sera pour demain car je me lève à 8H00. Je bosse demain.

Pour info les lettres les + utilisées en français : E, A, S, I, le N et le T dans la même mesure.

Les bigrammes : ES DE LE

Les trigrammes : ENT LES

Ce système de chiffrement n'est plus utilisé, c'est juste pour le fun. Ce code ne résiste pas 2 secondes à un ordinateur programmé pour casser les codes. A l'heure actuelle les code utilise non seulement les lettres mais les chiffres, la ponctuation et ont des dates de validité au dela de laquelle ils sont indéchiffrables.

Pour des novices la substitution simple est un bon amusement. ex de clef

Un mot sans répétition de lettre PRATIQUE

P R A T I Q U E B C D F G H J K L M N O S V W X Y Z après pratique, lettre non utilisées

A BC DE F G H I J K L M N OP Q R S T U V W X Y Z alphabet dans l'ordre

CELA DONNE : AIFP TJHHI

Bonne fin de nuit et à demain soir

Adrien

Re,

Je me doute bien que ce système de chiffrement est basique

Je te dis ça adrien parce que je suis également sur un autre poste, en train de résoudre un "problème" pour la cryptographie de Hill.

Méthode, un peu (beaucoup?) plus compliqué que la méthode par substitution monoalphabétique, qui ne résisterait pas (je parle de la méthode de Hill), je pense, à un ordinateur contenant le programme de décryptage adéquat.

Je ne sais pas si tu connais cette méthode de chiffrement (dite polyalphabétique),

mais en gros, on prend un message par blocs de 2 lettres (ça c'est pour la méthode de base),

puis on crypte ces blocs de lettres suivant une matrice de dimension 2x2 (c'est la clé),

pour se retrouver à la fin avec le message codé.

Ce qui est mieux avec cette méthode de chiffrement par rapport à la méthode monoalphabétique,

c'est qu'une même lettre peut-être codée différemment. C'est pour ça que cette méthode est dite polyalphabétique.

Elle est en plus polygraphique car on crypte par bloc de lettres.

Si ça peut t'intéresser adrien, voici le post (qui est intéressant également) sur lequel je suis également : https://www.excel-pratique.com/forum/viewtopic.php?t=11691

Bonjour Vba-new, Bonjour Forum

Merci. Mais je te dirai que c'est trop puissant pour moi, intéressant mais ce que je cherche ce sont les petits codes simple mais qui peuvent s'avèrer efficaces pour le commun des mortels.

Je n'ai pas le temps, mais je rechercherai un chiffre qui était non chiffré (étrange) il fallait voir l'astuce dans l'écriture et ne lire que certains mots.

Cela à couté l'échafaud à celui qui n'a pas su le lire car il lui donnait un plan d'évasion.

A+

Adrien

Bonsoir Vba-new

J'ai testé aujourd'hui ta formule, cà fonctionne impec. avec un bémol, dans les copier coller que j'ai réalisé sur le fichier, j'ai des erreurs dans certaines cellules comme L6, L8 et d'autres. Ma colonne AT #N/A!!!!!!! Pourquoi ?

Autrement le produit est très bon. Il faut que je lui mette des formes et des verrous.

https://www.excel-pratique.com/~files/doc2/Copie_de_Substitution_monoalpha_TEST.xls

Merci beaucoup

Adrien

Salut adrien,

Si dans les cellules L6, L8 et autres... il y a des erreurs #NA, c'est parce que le RECHERCHEV ne trouve pas de valeur correspondant à la cellule juste au-dessus (dans notre cas).

Exemple : Il y a une erreur #NA en L6, car il ne trouve pas la valeur de la cellule L5 dans le tableau des correspondances lettres cryptées/décryptées.

Pourtant, on avait mis une condition qui gérait les cellules vides. En fait, si on regarde un peu mieux, la cellule L5 n'est pas vide mais semble vide puisqu'elle contient un espace !!

Comme la fonction RECHERCHEV ne sait pas quoi faire s'il y a un espace, elle retourne une erreur #NA.

Pour remédier à ce problème, 2 solutions (au moins):

1. Faire en sorte que les cellules vides soient vraiment vides

2. Ajouter une condition dans la formule

J'ai opté pour la 2è solution et ai donc spécifié que si la cellule du dessus contient un espace et même 2 espaces (la cellule C15 en contenait 2), alors, on laisse vide.

Regarde le fichier mis à jour :

https://www.excel-pratique.com/~files/doc2/Substitution_monoalpha_TEST_bon.zip

Si besoin est, demande

RE

Quand on n'est face à des pros c'est simplement magique. Je vais tester avec d'autres messages, mais je pense que la formule tiendra la route.

Merci beaucoup de ton aide

A+

Adrien

Hé hé, merci adrien mais si moi je suis un pro, j'imagine même pas ce que sont certains autres

J'ai pas oublié ta requête en début de post (je sais plus où) où tu voulais utiliser des boîtes de dialogues pour ton problème!!

Mais vu qu'en boîte de dialogue j'y connais pas grand chose, j'avais laissé tomber ce côté-là!!

RE

J'étais en train de tester ta formule sur un cryto utilisant le décalé de César. C'est l'alphabet écrit sur deux lignes mais le deuxième est décalé de une, deux, trois lettres ou plus.

Je te joins le fichier, si tu veux tester ta formule ;

https://www.excel-pratique.com/~files/doc2/Decale_de_Cesar.xls

Bonsoir

Adrien

Rechercher des sujets similaires à "remplacer lettre"