Problème trie de liste pour base de données en VBA

Bonjour,

Je suis débutant dans le monde de excel et je me hurte a un problème pourriez-vous m'éclairer?

J'ai créé une base de données comportant plusieur colones : marques;modèle;immatriculation;puissance;etc

j'ai souhaiter trier cette base pour pouvoir l'utilisé dans des listes déroulant en validation de données.

Pour cela j'ai fait une macro VBA "patchwork" aprés moulte et moulte recherche sur internet.

La macro marche mais lorsque je rentre dans ma base le terme ds5 ( en minuscule ) le debugeur me donne : "erreur 1004".

Voici la dite macro :

Sub LaMacroDeFolie()

colBD = 1

colListe = 17

Set f = Sheets("Données d'entrées")

ligne = 1

f.Cells(ligne + 1, colListe).Resize(1000, 40).Clear

Set mondico = CreateObject("Scripting.Dictionary")

For Each c In Range(f.Cells(2, colBD), f.Cells(65000, colBD).End(xlUp))

mondico(c.Value) = c.Value

Next c

f.Cells(ligne, colListe) = "Liste"

f.Cells(ligne, colListe).Font.Bold = True

f.Cells(ligne + 1, colListe).Resize(mondico.Count) = Application.Transpose(mondico.items)

ActiveWorkbook.Names.Add Name:="Liste", RefersTo:=f.Cells(ligne + 1, colListe).Resize(mondico.Count)

For niv = 2 To 3

colBD = colBD + 1

colListe = colListe + 2

ligne = 1

For Each c In Range(f.Cells(2, colListe - 2), f.Cells(65000, colListe - 2).End(xlUp))

If c <> "" And c.Font.Bold <> True Then

Set mondico = CreateObject("Scripting.Dictionary")

For Each d In Range(f.Cells(2, colBD), f.Cells(65000, colBD).End(xlUp))

If d.Offset(, -1) = c Then mondico(d.Value) = d.Value

Next d

f.Cells(ligne, colListe) = c

f.Cells(ligne, colListe).Font.Bold = True

f.Cells(ligne + 1, colListe).Resize(mondico.Count) = Application.Transpose(mondico.items)

ActiveWorkbook.Names.Add Name:=Replace(c, " ", "_"), RefersTo:=f.Cells(ligne + 1, colListe).Resize(mondico.Count)

ligne = ligne + mondico.Count + 1

End If

Next c

Next niv

End Sub

Mais je me suis apperçu que si je rentre ds 5, ou Ds 5 (avec un espace entre Ds et 5 ) sa marche....

Avez vous une solution pour me permettre de rentrer n'importe quelle valeur ( avec ou sans espace ou caractere spécial )?

Je vous remercie par avance HHoooo grands maitres d'excel

Bonjour

Pas sur mais de fortes chances

Tu ne peux pas avoir une zone nommée comme une référence de cellule

DS5 existe en tant que cellule

Rechercher des sujets similaires à "probleme trie liste base donnees vba"