Melanger des lettres, un mot, quel casse tête !!!

Lolote83

XLDnaute Barbatruc
Je souhaite décomposé (ou mélanger) un mot de plusieurs lettres:

Exemple : BONJOUR (7 lettres).
Mélanger les lettres de façon à ce que la 2ème passe en 1ère position, la 3ème en 2ème position, la 4ème en 3ème position etc etc etc et du coup la dernière est celle qui était en 1ère position à l'origine.
Tout ceci en fonction du nombre de lettre dont est composé le mot.

De fait, je souhaite donc à partir d'un mot de "x" lettres trouver le mélange qui me permet d'arriver au final. Ce final est le résultat du mélange en fonction du nombre de lettre du mot.

J'ai commencé en VBA mais je sèche un peut donc pas de code joint, il est nul et ne marche pas.
Je continue mes recherches.
Merci à tous .....
Lolote83
 

Pièces jointes

  • Mélange.xls
    26.5 KB · Affichages: 167
  • Mélange.xls
    26.5 KB · Affichages: 153
  • Mélange.xls
    26.5 KB · Affichages: 183

mth

XLDnaute Barbatruc
Re : Melanger des lettres, un mot, quel casse tête !!!

Bonsoir Lolote83,

D'après les exemples que tu fournis, si j'ai bien compris cela revient à placer la dernière lettre du mot en premier, suivi du mot moins sa dernière lettre, ce qui pourrait correspondre à une formule de ce genre, en D3 et tirée vers le bas:

Code:
=DROITE(B3)&GAUCHE(B3;NBCAR(B3)-1)

Bonne soirée,

mth

Edit: Bonsoir mutzik :), et bonsoir Gilbert et Rachid :)
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Melanger des lettres, un mot, quel casse tête !!!

Bonjour

un truc comme ça ?

Code:
Sub PermutAlea
dim sSrc as string, sPrv as string, sCbl as string
dim l as long, lPos as long
 
sSrc= InputBox ("Mot à permuter ?", "PERMUTATION" )
do
  sPrv= sSrc : sCbl= ""
  randomize
  for l= 1 to len (sSrc)
    lPos= int (Rnd * len (sPrv)) + 1 'On pioche
    sCbl= sCbl + mid(sPrv, lPos, 1) 'On ajoute la lettre
    sPrv= left(sPrv, lPos-1) & mid(sPrv, lPos+1) 'On la supprime de la chaîne provisoire
  next l
  ' Faire "annuler" dans la boîte de message pour sortir
  if MsgBox (sCbl, 1, "Proposition pour " & sSrc) <> 1 then exit do
loop
End Sub

:cool:
 

R@chid

XLDnaute Barbatruc
Supporter XLD
Re : Melanger des lettres, un mot, quel casse tête !!!

Bonsoir @ tous,
Je me joints aux amis,
si tu veux chaque lettre sur une cellule,
en F3 :
Code:
=SI(COLONNES($F:F)<=NBCAR($B3);STXT($B3;MOD(NBCAR($B3)-2+COLONNES($F:F);NBCAR($B3))+1;1);"")
@ tirer vers la droite puis vers le bas
Voir PJ.
Amicalement
 

Pièces jointes

  • Melange.xls
    44 KB · Affichages: 109
  • Melange.xls
    44 KB · Affichages: 103
  • Melange.xls
    44 KB · Affichages: 99

R@chid

XLDnaute Barbatruc
Supporter XLD
Re : Melanger des lettres, un mot, quel casse tête !!!

Bonsoir @ tous,
C'est peut etre ca ce que tu veux,
trouver toute les combinaisons possibles des lettres d'un mot...
formule en B2 :
Code:
=SI(ET(COLONNES($B:B)<=NBCAR(LeMot);LIGNES($2:2)<=NBCAR(LeMot));STXT(LeMot;MOD(COLONNES($B:B)-LIGNES($2:2);NBCAR(LeMot))+1;1);"")
@ tirer vers la droite et vers le bas.
Voir PJ.
Amicalement
 

Pièces jointes

  • Melange.xls
    70.5 KB · Affichages: 101
  • Melange.xls
    70.5 KB · Affichages: 78
  • Melange.xls
    70.5 KB · Affichages: 106

Modeste geedee

XLDnaute Barbatruc
Re : Melanger des lettres, un mot, quel casse tête !!!

Bonsour®
Je souhaite décomposé (ou mélanger) un mot de plusieurs lettres:

Exemple : BONJOUR (7 lettres).
Mélanger les lettres de façon à ce que la 2ème passe en 1ère position, la 3ème en 2ème position, la 4ème en 3ème position etc etc etc et du coup la dernière est celle qui était en 1ère position à l'origine.
Tout ceci en fonction du nombre de lettre dont est composé le mot.

J'ai commencé en VBA ...

pour me joindre au choeur des propositions déjà effectuées
je propose donc en VBA
 

Pièces jointes

  • Mélange.xls
    72 KB · Affichages: 127
  • Mélange.xls
    72 KB · Affichages: 102
  • Mélange.xls
    72 KB · Affichages: 93

R@chid

XLDnaute Barbatruc
Supporter XLD
Re : Melanger des lettres, un mot, quel casse tête !!!

Bonsoir @ tous,
Slt Modeste gede,
Pour garder le tri sur le tableau comme :
BONSOIR
ONSOIRB
NSOIRBO
SOIRBON
OIRBONS
IRBONSO
RBONSOI
Je modifie la formule en B2 :
Code:
=SI(ET(COLONNES($B:B)<=NBCAR(LeMot);LIGNES($2:2)<=NBCAR(LeMot));STXT(LeMot;MOD(COLONNES($B:B)+LIGNES($2:2)-NBCAR(LeMot)-2;NBCAR(LeMot))+1;1);"")
@ tirer vers la droite et vers le bas.
Voir PJ
Amicalement
 

Pièces jointes

  • Melange.xls
    73.5 KB · Affichages: 85
  • Melange.xls
    73.5 KB · Affichages: 87
  • Melange.xls
    73.5 KB · Affichages: 88

Lolote83

XLDnaute Barbatruc
Re : Melanger des lettres, un mot, quel casse tête !!!

Salut Rachid_0661 et tous les autres.
A la demande de Rachid, je vous joint donc ma version qui est ridicule comparée aux votre.
Je saisie le mot décomposé (volontairement) dans les cellules B2 à B13 et je lance ma petite macro.
Franchement, vos solutions sont superbes, je garde tout ça dans un coin.
Encore 1000 merci à tous .....
Amicalement
Lolote83
 

Pièces jointes

  • Mélange.xls
    50 KB · Affichages: 116
  • Mélange.xls
    50 KB · Affichages: 104
  • Mélange.xls
    50 KB · Affichages: 104

ndubau

XLDnaute Nouveau
Bonsoir
Quasiment nul en Excel le besoin de mélanger des lettres se pose à moi. L’exemple de Rachid revisité par Geede me sied. Mais je ne vois pas où annuler la limitation à 12 lettres du mot de départ !
Merci à vous de me dépanner !
 

Discussions similaires

Réponses
0
Affichages
1 K

Statistiques des forums

Discussions
314 491
Messages
2 110 182
Membres
110 691
dernier inscrit
Marhvax