Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment enregistrer ou conserver des sélections de zones de liste ActiveX dans Excel?

Supposons que vous ayez créé des zones de liste et que vous ayez effectué des sélections dans les zones de liste. Cependant, toutes les sélections de ces zones de liste disparaissent à la fermeture et rouvrent le classeur. Voulez-vous conserver les sélections effectuées dans les zones de liste à chaque fois que vous fermez et rouvrez le classeur? La méthode de cet article peut vous aider.

Enregistrer ou conserver des sélections de zones de liste ActiveX avec le code VBA dans Excel


Facilement insérer ou supprimer plusieurs cases à cocher en vrac dans Excel:

Le bouton Boîtes de contrôle d'insertion par lots utilitaires de Kutools for Excel peut vous aider à insérer rapidement plusieurs cases à cocher dans la plage sélectionnée à la fois. Et vous pouvez supprimer toutes les cases à cocher dans la plage sélectionnée avec le Batch Supprimer les cases à cocher. Voir sccreenshot:

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


Enregistrer ou conserver des sélections de zones de liste ActiveX avec le code VBA dans Excel


Le code VBA ci-dessous peut vous aider à enregistrer ou à conserver des sélections si les zones de liste ActiveX dans Excel. S'il vous plaît faire comme suit.

1. Dans le classeur contient les zones de liste ActiveX que vous souhaitez conserver les sélections, appuyez sur autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, double-cliquez ThisWorkbook dans le volet de gauche pour ouvrir le ThisWorkbook Code fenêtre. Et puis copiez le code VBA suivant dans la fenêtre de code.

Code VBA: Enregistrer les sélections des zones de liste ActiveX dans Excel

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim I As Long
    Dim J As Long
    Dim K As Long
    Dim KK As Long
    Dim xSheet As Worksheet
    Dim xListBox As Object
    On Error GoTo Label
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    K = 0
    KK = 0
    If Not Sheets("ListBox Data") Is Nothing Then
        Sheets("ListBox Data").Delete
    End If
Label:
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "ListBox Data"
    Set xSheet = Sheets("ListBox Data")
    For I = 1 To Sheets.Count
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                For J = 0 To .ListCount - 1
                    If .Selected(J) Then
                        xSheet.Range("A1").Offset(K, KK).Value = "True"
                    Else
                        xSheet.Range("A1").Offset(K, KK).Value = "False"
                    End If
                    K = K + 1
                Next
                End With
                K = 0
                KK = KK + 1
            End If
        Next
    Next
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
    Dim I As Long
    Dim J As Long
    Dim KK As Long
    Dim xRg As Range
    Dim xCell As Range
    Dim xListBox As Object
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    KK = 0
    For I = 1 To Sheets.Count - 1
        For Each xListBox In Sheets(I).OLEObjects
            If xListBox.Name Like "ListBox*" Then
                With xListBox.Object
                    Set xRg = Intersect(Sheets("ListBox Data").Range("A1").Offset(0, KK).EntireColumn, Sheets("ListBox Data").UsedRange)
                    For J = 1 To .ListCount
                        Set xCell = xRg(J)
                        If xCell.Value = "True" Then
                            .Selected(J - 1) = True
                        End If
                    Next
                    KK = KK + 1
                End With
            End If
        Next
    Next
    Sheets("ListBox Data").Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

3. appuie sur le autre + Q les clés pour fermer le Microsoft Visual Basic pour applications fenêtre.

4. Vous devez maintenant enregistrer le classeur dans un classeur Excel Macro. Cliquez s'il vous plait Fichier > Enregistrer sous > Feuilleter.

5. dans le Enregistrer sous boîte de dialogue, sélectionnez un dossier pour enregistrer le classeur, renommez-le selon vos besoins, sélectionnez Cahier de travail Excel avec macro-activé le Enregistrer en tant que type de liste déroulante, et enfin cliquez sur le Épargnez bouton. Voir la capture d'écran:

Veuillez enregistrer le classeur à chaque fois que vous mettez à jour les zones de liste. Ensuite, toutes les sélections précédentes seront conservées dans les zones de liste après la réouverture du classeur.

Note: Lors de l'enregistrement du classeur, une feuille de calcul nommée "Données ListBox"Sera créé automatiquement à la fin de toutes les feuilles de calcul de votre classeur, s'il vous plaît ignorer cette feuille de calcul, car il disparaîtra automatiquement lorsque le classeur est fermé.



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.