XL 2016 rafraîchissement des données dans une combobox

BBdoc31

XLDnaute Nouveau
Bonjour,

Voilà j'ai un petit soucis, je reprends un fichier de gestion de base et je n'arrive pas à rafraîchir la liste dans le menu déroulant après avoir fait une modification.

En prime, maintenant quand je crées une fiche, la feuille de saisie se ferme directement.

Merci par avance, de vos réponses.

Frédéric
 

Pièces jointes

  • FIS.zip
    687 KB · Affichages: 44

BBdoc31

XLDnaute Nouveau
allez un peu plus d'explication :
j'ai mon code suivant pour ma combobox ListEditerFIS

Code:
Private Sub ListEditerFIS_Click()
    'FL 20170531
    Dim SearchString As String
    Dim PosCR As Long

    On Error GoTo InfoErreur
   
    Workbooks(G_WorkBookName).Sheets(ONGLET_BASE_FIS_NOM).Activate
   
    ' récupère la référence
    PosCR = InStr(1, Me.ListEditerFIS, vbTab, vbTextCompare)
    SearchString = Left(Me.ListEditerFIS, PosCR - 1)

    ' ouvre le formulaire
    IHM_EditerFIS (SearchString)
   
    Me.ListEditerFIS = ""
    'JD 20120921

    Me.ListEditerFIS.Locked = True
    Me.ListEditerFIS.ForeColor = &HFF8080
    Me.BtnDuplicateFIS.ForeColor = &HFF0000
    Me.BtnModifierFIS.ForeColor = &HFF0000
    Me.BtnCreateFIS.ForeColor = &HFF0000

Exit Sub

InfoErreur:
        MsgBox "Erreur N°: " & Err.Number & vbCrLf & Err.Description & vbCrLf, vbCritical, "Type erreur"

End Sub

et mon UserForm_Active()

Code:
Private Sub UserForm_Activate()

    Dim wbkSrcFIS As Workbook

    Dim wsSrcFIS As Worksheet

    Dim i As Integer

    On Error GoTo InfoErreur

    Set wbkSrcFIS = ActiveWorkbook
    Set wsSrcFIS = wbkSrcFIS.Worksheets(ONGLET_BASE_FIS_NOM)

'Désactiver la gestion des évènements
    Application.EnableEvents = False

    ListEditerFIS.Clear
    ListImprimerFIS.Clear

    'initialisation listes déroulantes des FIS pour modif et impression

        For i = getLigneDerniereCellule(wsSrcFIS) To PREMIERE_LIGNE_VIDE_BASE_FIS Step -1
        'liste pour édition
             ListEditerFIS.AddItem _
            (wbkSrcFIS.Worksheets(ONGLET_BASE_FIS_NOM).Cells(i, COL_TYPE_REF_FIS)) _
            & vbTab & _
            (wbkSrcFIS.Worksheets(ONGLET_BASE_FIS_NOM).Cells(i, COL_TITRE_FIS))
        'liste pour impression
            ListImprimerFIS.AddItem _
            (wbkSrcFIS.Worksheets(ONGLET_BASE_FIS_NOM).Cells(i, COL_TYPE_REF_FIS)) _
            & vbTab & _
            (wbkSrcFIS.Worksheets(ONGLET_BASE_FIS_NOM).Cells(i, COL_TITRE_FIS))
        Next i

    'Activer la gestion des évènements
    Application.EnableEvents = True

Exit Sub

InfoErreur:
        MsgBox "Erreur N°: " & Err.Number & vbCrLf & Err.Description & vbCrLf, vbCritical, "Type erreur"


    'Activer la gestion des évènements
    Application.EnableEvents = True

End Sub

Mais quand j'ai fait une modification, ma combobox n'est pas à jour !
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Ce que je peux vous dire, c'est que si on utilise mon objet ComboBoxLiées pour lui faire gérer tout seul les listes et les choix, il faut réexécuter, après tout ajout ou suppression de ligne dans la base, sa méthode Actualiser.
Alors là ça doit être pareil: il faut sans doute recommencer le calcul des listes des ComboBox après une modification de la base.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Mettez peut être les instructions qui alimentent les listes des ComboBox dans une Private Sub Actualiser, comme ça vous n'aurez qu'à faire Actualiser, partout où il faudra le faire.

Edit. À tout hasard je joins quand même ma fourniture.
(Dommage qu'il n'est pas prévu, dans les ressources, de rubrique "Complément Excel ou VBA")
 

Pièces jointes

  • CBxL.xlsm
    132.6 KB · Affichages: 23
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 079
Messages
2 085 129
Membres
102 788
dernier inscrit
Remy003