Valeur par défaut (date) dans un combobox

Le
JeanYvesGascon
Bonjour,

Sous Excel 2002 ou 2003, dans un formulaire, il y a un combobox qui
doit sélectionné une date.
Je souhaiterai que
1) par défaut, cette date soit la date de jour ("Date") ou celle qui
vient juste après.
2) ensuite en fonction du choix de la Combobox, s'affiche dans la
ListBox les valeurs concernées par cette date sélectionné.


Mes sources sont sur une feuille nommée Formation et les valeurs
recherchées pour alimenter la ListBox sont de A7:G400

Pour l'instant j'en sui arrivé là :


Private Sub UserForm_Initialize()
Dim j As Integer

For j = 1 To Range("Formation!b65536").End(xlUp).Row
CCB_Date_RIF = Range("B7" & j)
If CCB_Date_RIF.ListIndex = -1 Then CCB_Date_RIF.AddItem
Range("B7" & j)
Next j

LB_RIF.ColumnCount = 7
LB_RIF.ColumnWidths = "30;50;50;40;50;50;50"
LB_RIF.ColumnHeads = True

LB_RIF.RowSource = "Formation!a7:G400"

End Sub

Même si mon niveau s'améliore un peu plus chaque jour, là je coince u=
n
peu.
J'espère avoir été assez explicite dans ma demande.

Merci de vos éclairages

Cordialement

JeanYves
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23922001
Bonjour,

Voici un bout de code pour le combobox avec les dates de la plage B7:Bx de la feuille "Feuil1"

Cet exemple ne traite que du combobox...

'----------------------------------------------
Private Sub UserForm_Initialize()

Dim Rg As Range, Tblo As Variant, D As Variant, F As String
With Worksheets("Feuil1") 'Nom onglet feuille à adaapter
With .Range("B7:B" & .Range("B65536").End(xlUp).Row)
'création d'une plage nommée, choisis le nom que tu veux.
.Name = "MichDPlg"
'Extrait la date immédiatement supérieure à la date
'd'aujourdhui présente dans la liste.
D = [MIN(IF(TODAY()-MichDPlg<=0,MichDPlg))]
'Attribue la valeur de la plage dans un tableau (array)
Tblo = .Value
End With
End With
'chargement du combobox
With Me.ComboBox1
'la propriété List pour remplir le combobox
.List = Tblo
'si une date a été trouvée,
If D > 0 Then
'le combobox affichera cette date trouvée.
.Value = Format(D, "DD/MM/YYYY")
End If
End With
End Sub
'----------------------------------------------



MichD
------------------------------------------
"JeanYvesGascon" a écrit dans le message de groupe de discussion :


Bonjour,

Sous Excel 2002 ou 2003, dans un formulaire, il y a un combobox qui
doit sélectionné une date.
Je souhaiterai que
1) par défaut, cette date soit la date de jour ("Date") ou celle qui
vient juste après.
2) ensuite en fonction du choix de la Combobox, s'affiche dans la
ListBox les valeurs concernées par cette date sélectionné.


Mes sources sont sur une feuille nommée Formation et les valeurs
recherchées pour alimenter la ListBox sont de A7:G400

Pour l'instant j'en sui arrivé là :


Private Sub UserForm_Initialize()
Dim j As Integer

For j = 1 To Range("Formation!b65536").End(xlUp).Row
CCB_Date_RIF = Range("B7" & j)
If CCB_Date_RIF.ListIndex = -1 Then CCB_Date_RIF.AddItem
Range("B7" & j)
Next j

LB_RIF.ColumnCount = 7
LB_RIF.ColumnWidths = "30;50;50;40;50;50;50"
LB_RIF.ColumnHeads = True

LB_RIF.RowSource = "Formation!a7:G400"

End Sub

Même si mon niveau s'améliore un peu plus chaque jour, là je coince un
peu.
J'espère avoir été assez explicite dans ma demande.

Merci de vos éclairages

Cordialement

JeanYves
JeanYvesGascon
Le #23928281
On 31 oct, 13:53, "MichD"
Bonjour,

Voici un bout de code pour le combobox avec les dates de la plage B7:Bx d e la feuille "Feuil1"

Cet exemple ne traite que du combobox...

'----------------------------------------------
Private Sub UserForm_Initialize()

Dim Rg As Range, Tblo As Variant, D As Variant, F As String
With Worksheets("Feuil1") 'Nom onglet feuille à adaapter
    With .Range("B7:B" & .Range("B65536").End(xlUp).Row)
        'création d'une plage nommée, choisis le nom que tu v eux.
        .Name = "MichDPlg"
        'Extrait la date immédiatement supérieure à la date
        'd'aujourdhui présente dans la liste.
        D = [MIN(IF(TODAY()-MichDPlg<=0,MichDPlg))]
        'Attribue la valeur de la plage dans un tableau (array)
        Tblo = .Value
    End With
End With
'chargement du combobox
With Me.ComboBox1
    'la propriété List pour remplir le combobox
    .List = Tblo
    'si une date a été trouvée,
    If D > 0 Then
        'le combobox affichera cette date trouvée.
        .Value = Format(D, "DD/MM/YYYY")
    End If
End With
End Sub
'----------------------------------------------

MichD
------------------------------------------
"JeanYvesGascon"  a écrit dans le message de groupe de discussion :


Bonjour,

Sous Excel 2002 ou 2003, dans un formulaire, il y a un combobox qui
doit sélectionné une date.
Je souhaiterai que
1) par défaut, cette date soit la date de jour ("Date") ou celle qui
vient juste après.
2) ensuite en fonction du choix de la Combobox, s'affiche dans la
ListBox les valeurs concernées par cette date sélectionné.

Mes sources sont sur une feuille nommée Formation et les valeurs
recherchées pour alimenter la  ListBox sont de A7:G400

Pour l'instant j'en sui arrivé là :

Private Sub UserForm_Initialize()
    Dim j As Integer

    For j = 1 To Range("Formation!b65536").End(xlUp).Row
        CCB_Date_RIF = Range("B7" & j)
        If CCB_Date_RIF.ListIndex = -1 Then CCB_Date_RIF.AddIte m
Range("B7" & j)
    Next j

    LB_RIF.ColumnCount = 7
    LB_RIF.ColumnWidths = "30;50;50;40;50;50;50"
    LB_RIF.ColumnHeads = True

    LB_RIF.RowSource = "Formation!a7:G400"

End Sub

Même si mon niveau s'améliore un peu plus chaque jour, là je coince un
peu.
J'espère avoir été assez explicite dans ma demande.

Merci de vos éclairages

Cordialement

JeanYves



Merci pour tout

JeanYves
Publicité
Poster une réponse
Anonyme