Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur par défaut (date) dans un combobox

2 réponses
Avatar
JeanYvesGascon
Bonjour,

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


Mes sources sont sur une feuille nomm=E9e Formation et les valeurs
recherch=E9es pour alimenter la ListBox sont de A7:G400

Pour l'instant j'en sui arriv=E9 l=E0 :


Private Sub UserForm_Initialize()
Dim j As Integer

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

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

LB_RIF.RowSource =3D "Formation!a7:G400"

End Sub

M=EAme si mon niveau s'am=E9liore un peu plus chaque jour, l=E0 je coince u=
n
peu.
J'esp=E8re avoir =E9t=E9 assez explicite dans ma demande.

Merci de vos =E9clairages

Cordialement

JeanYves

2 réponses

Avatar
MichD
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
Avatar
JeanYvesGascon
On 31 oct, 13:53, "MichD" wrote:
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