Je test ça desuite.
edit : a priori ça marche aussi :-) a voir a la longue. J'ai juste désactibver l'ancienne ligne comme ça si besoin, facile de revenir en arrière :-)
J'ai en fait encore 2 questions sur cette partie de code
La première :
Enfin, si on veut en faire une liste de validation, il y a 2 options, la première et la deuxième (of course)
on en fait un liste dans un onglet
Tbl = dico.keys
QuickSort Tbl
Range("A2").Resize(UBound(tbl), 1) = Application.Transpose(tbl)
ou bien on les colle directement dans la liste de validationWith Sheets("mafeuilledechou").Range("ici")
.Validation.Delete
.Validation.Add xlValidateList, Formula1:=Join(dico.keys, ",")
End With
mais si le nombre de caractères de la liste est trop important cela met une erreur notamment lors du rechargement du fichier
Quelle serait la limitation en termes de taille de liste pour l'option 2? Est un nombre de caractère? Un nombre de "ligne"?
Si j'ai bien compris, cela permet de s'affranchir de la feuille où l'on va "coller" le résultat de l'extraction et du tri dans un tableau et sur laquelle on s'appuie pour générer la liste ensuite (dans mon cas, la feuille construction avec ses 3 tableaux de récolte de données) en mettant directement dans la liste le résultat de l'extraction et du tri (chez moi sur la feuille Home, cellule C8, C10 et C12. est ce correct? Si c'est bien ça alors ça permettrait d'aller encore plus le système (si les contrainte évoqué ci-dessus ne sont pas trop contraignante ;-) ).
La deuxième (of course ;-) )
Je ne suis pas sur d'avoir pleinement compris cette expression
For i = 2 To UBound(data)
dico(data(i, 1)) = ""
Next
C'est bien cette étape qui met la tableau data sous forme de dictionnaire, ici, seulement la colonne 1 du tableau data. SI c'est bien ça, je ne comprends pas pourquoi on met =""
Dans ma tête, je le traduis par ça, mais je dois faire erreur, car sinon, le dico serait vide. Du coup, je me dis que ça doit se comprendre autrement, mais je ne vois pas comment.
For i = 2 To UBound(data) 'de i=2 à la fin du tableau data
dico(data(i, 1)) = "" 'les valeurs de la colonne 1 du tableau data égale rien.
Next
Merci par avance
Bastien