Remplir ComboBox avec condition Date

nico_7512

XLDnaute Nouveau
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

  • combochoix.xls
    32 KB · Affichages: 89

nico_7512

XLDnaute Nouveau
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

  • combochoix_V2.zip
    14.2 KB · Affichages: 55

jp14

XLDnaute Barbatruc
Re : Remplir ComboBox avec condition Date

Bonjour

Ci joint le fichier avec la macro modifiée pour l'usf.

J'ai rajouté un textbox au niveau du combobox pour pouvoir afficher les colonnes ainsi que la colonne date pour vérifier si le critère de sélection est correct.

A tester

JP
 

Pièces jointes

  • combochoix_V2 (version 1).zip
    18.2 KB · Affichages: 80

jp14

XLDnaute Barbatruc
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
 

nico_7512

XLDnaute Nouveau
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
 

Discussions similaires

Réponses
7
Affichages
463
Réponses
2
Affichages
324
Réponses
3
Affichages
410
Réponses
4
Affichages
295

Statistiques des forums

Discussions
312 438
Messages
2 088 410
Membres
103 844
dernier inscrit
salma123