Bonjour à tous
J'ai un fichier de BDD qui peut évoluer chaque jour (ajout ou suppression de données). 6 colonnes, qqes centaines de lignes.
A partir de ce fichier je crée un dictionnaire grâce à la macro suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public Sub CréationTableInfoClients()
Dim A
Dim k As Long
WSClients1.Activate
Set TableInfoClients = CreateObject("scripting.dictionary")
A = [A1:F50000]
For k = 1 To 50000
TableInfoClients.Item(A(k, 1)) = Array(A(k, 1), A(k, 2), A(k, 3), A(k, 4), A(k, 5), A(k, 6))
Next k
End Sub |
Jusque là tout va bien.
Je lis ensuite des données dans un autre fichier, qui correspondent à mon A(k,1), la clé du dico.
Et je récupère une donnée via la ligne suivante :
ConfigurationClient = TableInfoClients(CodeClient)(2)
Vu que le fichier de BDD évolue, il arrive que le "CodeClient" ne soit pas présent dans le dictionnaire.
Il en ressort donc une erreur d'incompatibilité de type, ce qui est normal.
Comment pourrait on résoudre ceci ?
Je souhaiterai simplement que si le "CodeClient" n'est pas présent dans le dictionnaire, alors ConfigurationClient = ""
J'ai essayé divers trucs :
If TableInfoClients.exists(CodeClient) then ... Else...
Rien ne fonctionne.
Je vous remercie
Yann
Partager