sauvegarder contenu combobox à la fermeture / retrouver ce contenu à l'ouverture

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 !

vmatthieu

XLDnaute Occasionnel
bonjour à tous,
pour commencer merci de votre aide.
je m'excuse si je suis passé à travers d'une réponse existante .

Je charge par un bouton une combobox par la méthode aditem.

je supprime quelques items dans celle ci par un bouton.

Je voudrais (svp par la méthode la plus simple) enregistrer le contenu restant de ma combobox à la fermeture de mon userform et retrouver son contenu lors de l'ouverture

Je souhaiterais également ce même fonctionnement mais avec une fermeture du fichier (donc de retrouver le contenu de cette combobox modifiée après une fermeture du fichier et une ouverture)


merci d'avance
bonne soirée à tous
 

Pièces jointes

Re : sauvegarder contenu combobox à la fermeture / retrouver ce contenu à l'ouverture

Bonsoir mathieu,

Le plus simple c'est d'enregistrer la valeur de la combobox dans une cellule de l'une de tes feuilles. tu peut ainsi retrouver la derniere valeur saisie à chaque réouverture du userform ou bien du fichier.

bonne nuit
 
Re : sauvegarder contenu combobox à la fermeture / retrouver ce contenu à l'ouverture

Bonjour vmatthieu, nyko283,

Pour sauvegarder le contenu d'une combobox, tu peux procéder ainsi :

dans un module standard :
VB:
Global A as String

Dans ta macro d'appel d'USF :
VB:
UserForm1.Show
ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Controls("Combobox1").Value = A
A la fermeture de l'USF
VB:
A= Userform1.Combobox1.Value

Un exemple en pièce jointe.
 

Pièces jointes

Re : sauvegarder contenu combobox à la fermeture / retrouver ce contenu à l'ouverture

Bonjour,

Un exemple avec une feuille appelée "Cachée" que tu peux masquer à l'utilisateur :
Code:
Private Sub UserForm_Initialize()
    
    Dim I As Integer
    
    'la feuille où sont stockées et récupérées
    'les valeurs est cachée à l'utilisateur
    With Worksheets("Cachée")
       
        For I = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
        
            ComboBox1.AddItem .Cells(I, 1)
            
        Next I
        
    End With

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

    Dim I As Integer
    
    'vide la feuille
    Worksheets("Cachée").Cells.Clear
    
    'stocke les valeurs
    For I = 0 To ComboBox1.ListCount - 1
    
        Worksheets("Cachée").Cells(I + 1, 1) = ComboBox1.List(I)
    
    Next I
    
    'sauvegarde le classeur
    ThisWorkbook.Save
     
End Sub

Hervé.
 
Re : sauvegarder contenu combobox à la fermeture / retrouver ce contenu à l'ouverture

bonjour à tous et merci pour vos réponses.
pour l'instant je n'ai testé que celle de soft mama (celle qui me paraissait la plus simple)
j'ai à l'exécution une erreur comme quoi "l'accès par programme au projet visual basic n'est pas fiable"
ai je loupé quelque chose ou y a t'il une astuce
si tu peux me répondre softmama je serais encore moins bête demain(remarque c'est pas dur)
merci d'avance
quant au autre réponse je vous donne réponse dès que j'ai pu tester
encore merci
bonne fin de journée
 
Re : sauvegarder contenu combobox à la fermeture / retrouver ce contenu à l'ouverture

bonjour et merci softmama
je progresse mais maintenant j'ai un message d'erreur" variable objet ou variable de bloc with non définie"
allez comprendre ....
si votre patience n'est pas à bout je suis preneur d'une suggestion
bonne soirée et encore merci
 
- 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

Discussions similaires

Réponses
43
Affichages
829
Retour