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 :
Jusque là tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 :
Vu que le fichier de BDD évolue, il arrive que le "CodeClient" ne soit pas présent dans le dictionnaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ConfigurationClient = TableInfoClients(CodeClient)(2)
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part If ... isnothing then...Rien ne fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part If TableInfoClients.exists(CodeClient) then ... Else...
Je vous remercie
Yann






Répondre avec citation






Partager