Probleme exercice

Salut gege,

Tu as surement raison mais la variable Lig (ni Col d'ailleurs) ne semble être initialisée nulle part!!

Je pense que c'est de là que vient le problème! Il manque peut-être une partie du code?

il faut donc que je les définissent sur le module ?

Effectivement il manque pas mal de trucs, j'imagine que tu refais tout au fur et à mesure ?

Le problème vient de ce qu'on divise LgMes par Lig, qui est égal à zéro. Comme vous le savez la division par zéro est strictement interdite ! Ajoutes temporairement Lig = 2 en début de code tu verras...

Ce que je ne comprends pas c'est qu'à aucun moment en cliquant sur le bouton on ne demande d'effectuer cette macro : on demande juste de montrer l'userform

Peut-être il aurait mieux valu partir d'un classeur vierge que d'effacer le contenu de mon fichier pour le réécrire J'avoue que je suis dépassé sur ce coup là...

Je remets encore la dernière version de mon fichier, j'ai corrigé quelques bugs hier : cryptage_decryptageV7

Gege je pensais que tu aurais continué sur ton classeur avec ton userform qui me plaisait bien Tu avais vu la version que je t'avais renvoyée hier ?

Eh bien là il faudrait l'avis d'un spécialiste VBA, mais s'il y une erreur lorsque tu cliques sur le bouton, c'est parce que Lig = 0 par défaut si elle n'est pas initialisée (je pense).

Or dans ta macro "Crypte" il y a le code suivant :

For i = 1 To LgMes / Lig

Comme on ne peut pas diviser par zéro, cela te renvoie une erreur.

Edit : salut sylvain, apparemment j'avais pas tort

bah ne fait j'en ai fais deux en reprenant le tien et celui que j'avais au début

ensuite je n'est pas effacer le classeur et tout recopier j'en ai recopier un autre

j'ai vu la dernière version que tu m'a mis et je l'ai utilisé

En partant de ton classeur pour une matrice 2x2, il te faudrait par exemple une case à cocher de plus.

Dans la marco "Matrices", si c'est cette case à cocher qui est à 1, alors tu lancerais soit un autre userform, soit des inputbox pour récupérer les valeurs des arguments. Ensuite tu les copies dans la plage O36:P37, et le tour est joué.

Pour une 3x3 en l'état c'est impossible, vu que tu es parti sur une solution qui ne redéfini pas les formules. Comme les formules ne sont pas les mêmes pour du 2x2 que pour du 3x3, tu es coincé.

Tu pourrais bricoler en utilisant d'autres plages de calcul, mais du coup tu vas devoir faire des macros différentes pour le 2x2 et pour le 3x3, ce que j'évite avec ma dernière méthode.

Il faut choisir, y'aura toujours des avantages et des inconvénients.

Pour ton prof je pense que la meilleure solution est la solution bricolage, car ta présentation est meilleure que la mienne, vu que tu affiches les étapes du cryptage.

Après le fait que ce ne soit pas hyper optimisé ne me paraît pas vraiment pénalisant.

Par contre c'est pour le bouton "aperçu avant impression que tu vas avoir des soucis si tu utilises plusieurs plages de formules...

ok mais je ne vois pas trop quel userform utilisée parce que je suis assez débutant

j'aimerai

gege37 a écrit :

ok mais je ne vois pas trop quel userform utilisée parce que je suis assez débutant

Ben regarde sur mon fichier, il me semble qu'il y a tout ce qu'il faut comme exemples
gege37 a écrit :

et puis pour le bonton"aperçu" j'ai réecrit les valeur de codage et decodage sur une feuille excel qu j'imprime après

oui mais c'est bien ce que je disais : si tu utilises 2 plages différentes pour le 2x2 et le 3x3, comment vas tu savoir laquelle recopier pour ton impression ?
gege37 a écrit :

j'aimerai savoir comment on fait par rapport a mon programme pour dire que le message ne doit pas dépasser 50 caractères

Encore une fois ça y est dans mon fichier, dans la macro "InputMessage" il me semble. Regarde la dernière version : j'interdis les messages de plus de 50 caractères, et aussi ceux qui contiennent d'autres caractères que les 27 autorisés.

ok et pour imputmessage je n'est qu'à recopier le tien où il faut faut que je les définissent?

si oui ou et quel fonction je dois définir??

Rechercher des sujets similaires à "probleme exercice"