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