Mise à jour Dictionary

  • Initiateur de la discussion Initiateur de la discussion jlbox
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jlbox

Guest
Bonjour à tous,

Dans un userform, j'ai une combobox dont la liste est alimenté par un dictionnaire.
Les données saisies dans le userform alimentent une colonne excel.
Cette colonne excel est la colonne qui alimente mon dictionnaire.
Mon problème est que lorsque je saisie une valeur qui ne fait pas partie du dictionnaire, cette valeur une fois validée dans le userform n'est pas intégré dans mon dictionnaire pour la saisie du prochain formulaire. Je pense qu'il faut saisir un code de mise à jour mais je ne sais pas lequel???

PS: Lorsque je quitte excel et que je ré-ouvre mon fichier l'élément ne figurant pas dans le dictionnaire "précédent" est bien présent.

Merci pour le coup de main.

Set mydict2 = CreateObject("Scripting.Dictionary")
Set f = Sheets("Communication_Record")
Tabl2 = Range(f.[J4], f.[J20000].End(xlUp))
For n2 = LBound(Tabl2) To UBound(Tabl2)
For m2 = LBound(Tabl2) To UBound(Tabl2)
If Tabl2(n2, 1) < Tabl2(m2, 1) Then
Temp2 = Tabl2(n2, 1)
Tabl2(n2, 1) = Tabl2(m2, 1)
Tabl2(m2, 1) = Temp2
End If
Next m2
Next n2
For n2 = LBound(Tabl2) To UBound(Tabl2)
mydict2.Item(Tabl2(n2, 1)) = Tabl2(n2, 1)
mydict2.Item(Tabl2(n2, 1)) = Format(Tabl2(n2, 1), "mmmm-yyyy")
Next n2
Me.CR010.List = mydict2.items
 
Re : Mise à jour Dictionary

Bonjour jibox

A tester

juste apres la ligne de code qui permet de valider la valeur

Code:
mydict2.Item(lavaleur) = Format(lavaleur, "mmmm-yyyy")
Me.CR010.List = mydict2.items
lavaleur etant la valeur validée
 
Re : Mise à jour Dictionary

Salut

essaie en terminant par ces lignes
Code:
Private Sub ComRecButton1_Click()
    Dim iRow As Long
    Dim ws2 As Worksheet
    Set ws2 = Worksheets("Communication_Record")
    
    ...
   
    ws2.Cells(iRow, 1).Value = Me.CR001.Value
    ws2.Cells(iRow, 2).Value = StrConv(Me.CR002.Value, vbProperCase)

    Unload Me
    UserForm1_1_4.Show 0
End Sub

et en plaçant, CR001.SetFocus, dans l'initialize.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
788
Réponses
5
Affichages
418
Réponses
5
Affichages
914
Réponses
7
Affichages
830
Réponses
3
Affichages
661
Réponses
40
Affichages
3 K
Retour