Remplir ComboBox avec condition Date

  • Initiateur de la discussion Initiateur de la discussion nico_7512
  • 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 !

N

nico_7512

Guest
Bonsoir à Tous
Je suis nouveau sur ce forum et débutant en VBA.
Je souhaiterais à partir d'une date remplir une liste dans un combobox si la date est inférieure.
Puis après le choix remplir les textbox et avec le bouton valid le transferer dans une autre feuille

Merci pour votre aide

J'arrive à lancer le formulaire et la bonne feuille mais pour la condition je ne sais vraiment pas comment le faire

Cordialement


Nico
 

Pièces jointes

Re : Remplir ComboBox avec condition Date

Re j'ai retravaillé sur mon projet et il me reste à trouver une solution pour la vérification des dates
Et là c'est difficile pour moi

Nico

Je joins mon fichier

Merci pour votre aide
 

Pièces jointes

Re : Remplir ComboBox avec condition Date

Bonjour

Ci dessous la procédure pour afficher les données de la combobox triées par le code salle.

Code:
Sub remplircomboaveccond()
'Déclare un tableau à 2 dimensions.
Dim £Tableau() As String
Dim £cellule As Range
Dim £i As Long, £j As Integer, £y As Integer
Dim £numColTri As Byte 'numéro de la colonne à trier
Dim £nbCol As Byte ' nombre de colonne
Dim £t As Variant

£nbCol = 4
nomfeuille1 = "Salle&Batiment"
£i = Sheets(nomfeuille1).Range("b65536").End(xlUp).Row + 2 ' taille du tableau
'Dim £Tableau(1 To 4, 1 To 4, 1 To 4, 1 To 4) As String
ReDim £Tableau(1 To £i, 1 To £nbCol)
'Remplir le tableau
£i = 1
For Each £cellule In Sheets(nomfeuille1).Range("a2:b" & Sheets(nomfeuille1).Range("b65536").End(xlUp).Row)
    If IsDate(£cellule.Offset(0, 2).Value) Then
        If £cellule.Offset(0, 2).Value >= "31/12/2008" Then
            £Tableau(£i, 1) = £cellule.Value
            £Tableau(£i, 2) = £cellule.Offset(0, 1).Value
            £Tableau(£i, 3) = CStr(£cellule.Offset(0, 2).Value)  ' on transforme la date en string
            £Tableau(£i, 4) = £cellule.Row
            £i = £i + 1
        End If
    End If
Next £cellule
' trier le tableau
£numColTri = 1 'colonne à trier

For £i = 1 To UBound(£Tableau, £numColTri)
     For £j = 1 To UBound(£Tableau, £numColTri)
        If £Tableau(£j, £numColTri) > £Tableau(£i, £numColTri) Then
            
            For £y = 1 To £nbCol
                £t = £Tableau(£i, £y)
                £Tableau(£i, £y) = £Tableau(£j, £y)
                £Tableau(£j, £y) = £t
            Next £y
            
        End If
    Next £j
Next £i

With ComboBox1

    .Clear
    .ColumnCount = 4
    .ColumnWidths = "50;50;50;0"
    .Style = fmStyleDropDownList '
    .BoundColumn = 1 ' combobox1.text contient le nom
For £i = 1 To UBound(£Tableau, £numColTri)
    If £Tableau(£i, 1) <> "" Then
            .AddItem £Tableau(£i, 1)
            .List(.ListCount - 1, 1) = £Tableau(£i, 2)
            .List(.ListCount - 1, 2) = £Tableau(£i, 3)
            .List(.ListCount - 1, 3) = £Tableau(£i, 4)
    End If
Next £i



End With
     
End Sub
Il suffit de changer la valeur de £numColTri = 1 'colonne à trier pour modifier la colonne utilisé pour le tri. ( ne fonctionne pas pour les dates sauf si une date est sous la forme aaaa/mm/jj )

A tester

JP
 
Re : Remplir ComboBox avec condition Date

Bonjour JP 14
Merci pour votre aide.
Une petite question encore

Le remplissage du combo se fait à l'initialisation du formulaire peut on le faire à chaque changement de valeur de date du DTPicker ??

Cordialement
Nico
 
Re : Remplir ComboBox avec condition Date

Bonjour JP 14

Merci pour tout cela fonctionne comme je le souhaitais, j'ai mis le remplissage dans l'option DTPicker1_change () et tout va comme je le souhaite

Un TRES GRAND MERCI pour tout

Nico
 
- 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
40
Affichages
2 K
Réponses
8
Affichages
653
Réponses
40
Affichages
3 K
Réponses
3
Affichages
432
Retour