Bonjour
Un internaute, dont j'ai oublié le nom, il m'en excusera, avait pondu cette courte macro qui fonctionnait très bien sur Excel 2003 :
elle permettait de trouver tous les anagrammes d'un mot, la limitation (notamment avec Excel 2003) étant le nombre de lignes d'affichage possible (elle plantait dès que le mot avait plus de 7 ou 8 lettres) :
Sub AppelCombi()
Dim TexteCombi As String, Tablo
TexteCombi = Application.InputBox(prompt:="Entrer le texte ici")
Range("A:A").ClearContents
Set Dico = CreateObject("Scripting.Dictionary")
Call Combi("", TexteCombi)
Tablo = Dico.keys
For j = 1 To Dico.Count
Range("A" & j).Value = Tablo(j - 1)
Next j
Application.Run Range("motsCroisés.xls!nbValA")
End Sub
Sub Combi(Prefixe As String, Texte As String)
Dim i As Long
If Len(Texte) <= 1 Then
Dico(Prefixe & Texte) = Prefixe & Texte
Else
For i = 1 To Len(Texte)
Call Combi(Prefixe & Mid(Texte, i, 1), Left(Texte, i - 1) & Right(Texte, Len(Texte) - i))
Next i
End If
End Sub
J'ai tenté de la transposer à Excel 2007 mais ça coince : le message est :
Erreur de compilation :
Sub ou Function non définie
avec en surligné
Dico(Prefixe & Texte) =
Étant nul en macros VBA (j'en suis resté aux macros 4.0...), je ne suis pas capable de réparer l'erreur affichée au débogage.
Une âme charitable et compétente peut-elle m'apporter les corrections nécessaires ? Elle en sera remerciée.