Anagramme sur excel
Résolu/Fermé
dmxs291
Messages postés
11
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
29 septembre 2015
-
8 sept. 2013 à 02:00
dmxs291 Messages postés 11 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 29 septembre 2015 - 11 sept. 2013 à 13:44
dmxs291 Messages postés 11 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 29 septembre 2015 - 11 sept. 2013 à 13:44
A voir également:
- Anagramme sur excel
- Liste déroulante excel - Guide
- Calculer une moyenne sur excel - Guide
- Si et excel - Guide
- Comment aller à la ligne sur excel - Guide
- Word et excel gratuit - Guide
6 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
8 sept. 2013 à 18:11
8 sept. 2013 à 18:11
Bonjour
C'est un sujet récurrent, qui à eu beaucoup de réponses. Des intervenants très compétents sur ce site pourront vous proposer des solutions très performantes, mais en attendant, je peux vous proposer bien modestement une solution (qui informatiquement parlant, n'est pas des plus performantes, mais elle à le mérite de fonctionner).
Saisissez les caractères à permuter en A1 (maximum 12 caractères), puis cliquez sur le bouton. Il est évident que, plus il y a de caractères, plus le temps de recherche des permutation sera long.
Essayez en attendant de meilleures propositions.
https://www.cjoint.com/c/CIishRLh5pr
bonne soirée
cdlt
C'est un sujet récurrent, qui à eu beaucoup de réponses. Des intervenants très compétents sur ce site pourront vous proposer des solutions très performantes, mais en attendant, je peux vous proposer bien modestement une solution (qui informatiquement parlant, n'est pas des plus performantes, mais elle à le mérite de fonctionner).
Saisissez les caractères à permuter en A1 (maximum 12 caractères), puis cliquez sur le bouton. Il est évident que, plus il y a de caractères, plus le temps de recherche des permutation sera long.
Essayez en attendant de meilleures propositions.
https://www.cjoint.com/c/CIishRLh5pr
bonne soirée
cdlt
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 252
Modifié par Raymond PENTIER le 8/09/2013 à 05:20
Modifié par Raymond PENTIER le 8/09/2013 à 05:20
Bonjour.
Si on peut ? Avec une macro écrite en VBA, peut-être ...
Avec les méthodes classiques, je crains qu'il n'y ait aucune autre méthode que celle que tu utilises avec un papier et un crayon !
Excel ne peut alors te servir
1) qu'à calculer le nombre de résultats possibles, à savoir
=PERMUTATION(NBCAR(A1);NBCAR(A1))
et si A1 contient "zut" le résultat du calcul est 6 (à savoir zut-ztu-utz-uzt-tzu-tuz)
Mais si A1 contient "cinq" il y a déjà 24 possibilités ; si A1 contient "douze" il y a 120 solutions ... et quand on arrive à "cordialement" c'est 479 001 600 anagrammes qu'il faut trouver !
2) qu'à écrire tout cela proprement
C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
Si on peut ? Avec une macro écrite en VBA, peut-être ...
Avec les méthodes classiques, je crains qu'il n'y ait aucune autre méthode que celle que tu utilises avec un papier et un crayon !
Excel ne peut alors te servir
1) qu'à calculer le nombre de résultats possibles, à savoir
=PERMUTATION(NBCAR(A1);NBCAR(A1))
et si A1 contient "zut" le résultat du calcul est 6 (à savoir zut-ztu-utz-uzt-tzu-tuz)
Mais si A1 contient "cinq" il y a déjà 24 possibilités ; si A1 contient "douze" il y a 120 solutions ... et quand on arrive à "cordialement" c'est 479 001 600 anagrammes qu'il faut trouver !
2) qu'à écrire tout cela proprement
C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
8 sept. 2013 à 19:45
8 sept. 2013 à 19:45
Bonjour à tous
Avec mon vieil excel 2003 je ne peux pas ouvrir le fichier de frenchie83 ....
Une autre proposition peut être différente mais toujours VBA
https://www.cjoint.com/?3IitOSd1E7H
Bonne fin de journée ... et bon après midi à Raymond (le veinard)
Avec mon vieil excel 2003 je ne peux pas ouvrir le fichier de frenchie83 ....
Une autre proposition peut être différente mais toujours VBA
https://www.cjoint.com/?3IitOSd1E7H
Bonne fin de journée ... et bon après midi à Raymond (le veinard)
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
8 sept. 2013 à 20:32
8 sept. 2013 à 20:32
Bonsoir ccm81
Pour le plaisir de partager
Voici en version 2000, tout d'abord, je tiens à préciser que mon travail relève de la bidouille, donc pas comparable avec votre travail de Pro, mais bon, ça fonctionne. Quant à la présentation, elle est différente, puisque je mets chaque résultat de permutation dans la même cellule, ce qui me permet de remplir plusieurs colonnes dans le cas où le nombre de caractères à traiter implique un résultat supérieur aux nombres de lignes max.
Pour le fonctionnement, en A1, on met les caractères à permuter sans séparateur, puis on clique sur le bouton.
Un jour où j'aurai le temps, je m'amuserai à le refaire.
bonne soirée
Pour le plaisir de partager
Voici en version 2000, tout d'abord, je tiens à préciser que mon travail relève de la bidouille, donc pas comparable avec votre travail de Pro, mais bon, ça fonctionne. Quant à la présentation, elle est différente, puisque je mets chaque résultat de permutation dans la même cellule, ce qui me permet de remplir plusieurs colonnes dans le cas où le nombre de caractères à traiter implique un résultat supérieur aux nombres de lignes max.
Pour le fonctionnement, en A1, on met les caractères à permuter sans séparateur, puis on clique sur le bouton.
Un jour où j'aurai le temps, je m'amuserai à le refaire.
bonne soirée
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
8 sept. 2013 à 20:34
8 sept. 2013 à 20:34
Zut, j'ai oublié
https://www.cjoint.com/?CIiunYSVhiJ
mais c'est avec excel 97, ça doit marcher avec 2000
https://www.cjoint.com/?CIiunYSVhiJ
mais c'est avec excel 97, ça doit marcher avec 2000
dmxs291
Messages postés
11
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
29 septembre 2015
8 sept. 2013 à 14:03
8 sept. 2013 à 14:03
C'est justement ce que je veux faire avec Excel mais j'ai pas l'habitude de l'utiliser conséquence je n'y comprend pas grand chose. Je veux juste programmer Excel de tel sorte que si je tape un mot, il me donne sur une liste toutes les anagrammes possibles.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 252
8 sept. 2013 à 14:26
8 sept. 2013 à 14:26
Je crois que tu n'as pas lu (ou compris) ce que j'ai écrit ... alors je résume :
Presqu'impossible ...
... sauf si tu connais le langage VBA, pour créer une macro.
Presqu'impossible ...
... sauf si tu connais le langage VBA, pour créer une macro.
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 252
8 sept. 2013 à 14:30
8 sept. 2013 à 14:30
Cette demande a déjà été formulée dans le forum, et d'après mes souvenirs personne n'avait pu proposer une solution classique.
dmxs291
Messages postés
11
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
29 septembre 2015
8 sept. 2013 à 14:43
8 sept. 2013 à 14:43
D'accord je vois, bah merci quand même !
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
9 sept. 2013 à 01:54
9 sept. 2013 à 01:54
Bonsoir à tous,
Il est tout à fait possible de résoudre ton problème sans passer par VBA.
Il "suffit" de générer les permutations dans l'ordre lexicographique en partant, par exemple, d'un algo kivabien (celui que j'ai utilisé vient du livre de Berstel, Pin et Pocchiola : Mathématiques et informatiques) et de le transposer en Excel/feuille de calcul.
Naturellement, tout ce qui est combinatoire explose rapidement et le nombre d'anagrammes devient inexpoitable.
J'ai donc limité le nombre de lettres à 8 (40 320 permutations quand même).
Ensuite, j'ai travaillé sur les indices (de 1 à 8) pour lister les permutations de 12345678 à 87654321.
A partir de là, il suffit d'utiliser la fonction INDEX() pour avoir l'équivalent alphabétique des permutations.
Les formules ne sont cependant pas simples puisqu'elles font le travail d'un algo.
Voici donc un classeur https://www.cjoint.com/c/CIjbU1S01km qui liste les anagrammes d'un mot de 8 lettres.
Pour des raisons de taille, je n'ai gardé que les 40 premières lignes. Il faudra recopier vers le bas (jusqu'en 40322) pour avoir un tableau complet.
Il faudra le modifier un peu pour qu'il fonctionne avec des mots de longueurs inférieures.
Cordialement
Il est tout à fait possible de résoudre ton problème sans passer par VBA.
Il "suffit" de générer les permutations dans l'ordre lexicographique en partant, par exemple, d'un algo kivabien (celui que j'ai utilisé vient du livre de Berstel, Pin et Pocchiola : Mathématiques et informatiques) et de le transposer en Excel/feuille de calcul.
Naturellement, tout ce qui est combinatoire explose rapidement et le nombre d'anagrammes devient inexpoitable.
J'ai donc limité le nombre de lettres à 8 (40 320 permutations quand même).
Ensuite, j'ai travaillé sur les indices (de 1 à 8) pour lister les permutations de 12345678 à 87654321.
A partir de là, il suffit d'utiliser la fonction INDEX() pour avoir l'équivalent alphabétique des permutations.
Les formules ne sont cependant pas simples puisqu'elles font le travail d'un algo.
Voici donc un classeur https://www.cjoint.com/c/CIjbU1S01km qui liste les anagrammes d'un mot de 8 lettres.
Pour des raisons de taille, je n'ai gardé que les 40 premières lignes. Il faudra recopier vers le bas (jusqu'en 40322) pour avoir un tableau complet.
Il faudra le modifier un peu pour qu'il fonctionne avec des mots de longueurs inférieures.
Cordialement
Raymond PENTIER
Messages postés
58760
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
17 252
9 sept. 2013 à 02:39
9 sept. 2013 à 02:39
Un seul mot : Bravo !
dmxs291 va pouvoir s'occuper ...
dmxs291 va pouvoir s'occuper ...
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
9 sept. 2013 à 10:19
9 sept. 2013 à 10:19
Peux tu mettre en ligne ton classeur au format excel 2003, je suis curieux de voir la "bête"
Merci
Merci
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
9 sept. 2013 à 14:57
9 sept. 2013 à 14:57
Bonjour ccm81,
j'ai du remanier mes formules pour qu'elles passent en version 97/2003 (trop de niveaux d'imbrication).
J'ai quand même des messages d'erreur quand je change de format à l'enregistrement mais je ne vois pas de problème quand j'ouvre le fichier xls ainsi généré.
A toi de me dire si ça fonctionne chez toi.
J'ai ajouté des commentaires pour rendre compréhensibles les formules.
Cordialement
https://www.cjoint.com/?CIjo4ccNeVI
j'ai du remanier mes formules pour qu'elles passent en version 97/2003 (trop de niveaux d'imbrication).
J'ai quand même des messages d'erreur quand je change de format à l'enregistrement mais je ne vois pas de problème quand j'ouvre le fichier xls ainsi généré.
A toi de me dire si ça fonctionne chez toi.
J'ai ajouté des commentaires pour rendre compréhensibles les formules.
Cordialement
https://www.cjoint.com/?CIjo4ccNeVI
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
9 sept. 2013 à 17:32
9 sept. 2013 à 17:32
Bonjour JvDo
Merci d'avoir adapté (et envoyé) le fichier au format 2003
C'est vraiment sympa d'avoir pris la peine d'expliquer la démarche
Je n'ai pas d'erreur, ni à l'ouverture, ni après un F9, ni à l'enregistrement, donc de ce côté là tout va bien
Il ne me reste plus qu'à décortiquer la bête, et là, il y a apparemment du travail!
Bonne fin de journée
Cordialement
Merci d'avoir adapté (et envoyé) le fichier au format 2003
C'est vraiment sympa d'avoir pris la peine d'expliquer la démarche
Je n'ai pas d'erreur, ni à l'ouverture, ni après un F9, ni à l'enregistrement, donc de ce côté là tout va bien
Il ne me reste plus qu'à décortiquer la bête, et là, il y a apparemment du travail!
Bonne fin de journée
Cordialement
dmxs291
Messages postés
11
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
29 septembre 2015
11 sept. 2013 à 13:44
11 sept. 2013 à 13:44
Merci à tout les intervenants, j'ai trouvé ce que je voulais, vous êtes vraiment des petits génies, merci encore et bonne journée !
8 sept. 2013 à 18:24
8 sept. 2013 à 18:40
Oui bien sûr avec macro. En Excel, ce serait peut-être faisable, mais compliqué à mettre en oeuvre.
Raymond, j'ai vu dans de précédents posts que vous ne pratiquiez pas le VBA, mais vu votre maîtrise d'Excel et sans vouloir vous jeter des fleurs, je ne doute pas un instant que vous apporteriez des solutions pratiques à des problèmes qui ne peuvent se résoudre que par le VBA.
Alors Raymond, le VBA, c'est pour quand?
Bien amicalement
8 sept. 2013 à 18:46
Autant j'étais fana du Basic, au temps du DOS, autant je n'ai jamais vraiment adhéré à Visual Basic, malgré diverses tentatives.
Mais je te remercie de ton attention !