Combobox active X Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
fronck
Membre fidèle
Membre fidèle
Messages : 478
Appréciations reçues : 10
Inscrit le : 26 septembre 2015
Version d'Excel : 2016
Contact :
Téléchargements : Mes applications

Message par fronck » 14 juillet 2019, 19:15

Bonjour,
Je souhaiterais avoir sur ma feuille mois, une liste déroulante qui fasse doublon avec le mois affiché, et qui fonctionne avec le spinbutton.(en relation avec la liste des mois en feuille data).
Ceci pour avoir le choix de passer d'un mois à l'autre ou de sauter d'un mois à un autre plus loin.
Sans titre.png
Sans titre.png (3.59 Kio) Vu 112 fois
merci :wink:
fronck
ABSENCES 2018 forum.xlsm
(162.48 Kio) Téléchargé 9 fois
Pour coder les opérations simples, enregistrer une macro avec la manipulation que vous voulez faire. ;;)
Avatar du membre
oxydum
Membre dévoué
Membre dévoué
Messages : 679
Appréciations reçues : 71
Inscrit le : 29 mai 2019
Version d'Excel : 2016 FR

Message par oxydum » 15 juillet 2019, 08:56

Bonjour,

Après
mois = SpinButton_mois.Value
Ajoute :
    ComboBox1.Clear
    For i = 1 To 12:
      ComboBox1.AddItem MonthName(i)
    Next i
    ComboBox1.ListIndex = mois - 1

Avatar du membre
fronck
Membre fidèle
Membre fidèle
Messages : 478
Appréciations reçues : 10
Inscrit le : 26 septembre 2015
Version d'Excel : 2016
Contact :
Téléchargements : Mes applications

Message par fronck » 15 juillet 2019, 23:50

Bonjour oxydum,
j'ai remplacé MonthName par listemois en supposant que c'était le nom du gestionnaire de noms
                               mois = SpinButton_mois.Value
                               
                                ComboBox1.Clear
    For i = 1 To 12:
    ComboBox1.AddItem Listemois(i)
    Next i
    ComboBox1.ListIndex = mois - 1
A noter que le spinbutton fonctionne avec les chiffres du mois (1 à 12) et pas les mois (janvier à décembre).
a+ :)
fronck
ABSENCES 2019 forum.xlsm
(189.04 Kio) Téléchargé 2 fois
Pour coder les opérations simples, enregistrer une macro avec la manipulation que vous voulez faire. ;;)
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'255
Appréciations reçues : 191
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 16 juillet 2019, 01:38

Bonjour,

J'ai déclaré "mois" au début, afin que sa valeur puisse passer d'une macro à l'autre dans ce bloc.
J'ai renommé ComboBox_mois_Change() pour ComboBox1_Change() > le vrai nom du combobox.
Dans ComboBox1_Change() > quelques modifications.
Dans pinButton_mois_Change > un ajout.
Dans generer_mois > j'ai supprimé quelques lignes au début.
Dans ThisWorkbook > Workbook_Open > en bas, j'ai ajouté l'initialisation du combobox.
Je ne crois pas que l'on puisse changer MonthName en ListeMois.

Un essai ...





ric
ABSENCES 2018 forum V2.xlsm
(148.88 Kio) Téléchargé 2 fois
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
fronck
Membre fidèle
Membre fidèle
Messages : 478
Appréciations reçues : 10
Inscrit le : 26 septembre 2015
Version d'Excel : 2016
Contact :
Téléchargements : Mes applications

Message par fronck » 16 juillet 2019, 03:05

Salut,
j'enlèves cette partie, çà bug à l'ouverture:
Sans titre.png
Sans titre.png (7.66 Kio) Vu 71 fois
Pour le reste la combobox fonctionne, fait changer le mois, et le spinbutton suit en prenant le mois precedent ou suivant le changement de mois fait par le combobox.
ABSENCES 2018 forum combobox.xlsm
(149.63 Kio) Téléchargé 3 fois
Par contre, le spinbutton ne fait pas avancer ou reculer le mois dans le combobox comme dans ce fichier, ou il se base sur une cellule cachée en B2.
Je ne vais pas me servir de la combobox dans mon fichier, mais j'aimerais bien savoir comment cette cellule B2 changeante est générée. ::o
CP2.xlsm
(238.89 Kio) Téléchargé 3 fois
a+
fronck
Pour coder les opérations simples, enregistrer une macro avec la manipulation que vous voulez faire. ;;)
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'255
Appréciations reçues : 191
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 16 juillet 2019, 12:25

Bonjour,

À propos de ce bout-ci ...
... Par contre, le spinbutton ne fait pas avancer ou reculer le mois dans le combobox comme dans ce fichier, ou il se base sur une cellule cachée en B2. ...
Au début de la macro Sub generer_mois(), il y a mois = SpinButton_mois.Value qu'il faut remplacer par ComboBox1.ListIndex = mois - 1 ... comme dans le fichier que j'ai soumis.

Une fois remplacé ... le SpinButton fait avancer et reculer les mois dans le combobox. :mrgreen:





ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'255
Appréciations reçues : 191
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 16 juillet 2019, 12:37

Bonjour,
... j'aimerais bien savoir comment cette cellule B2 changeante est générée. ...
Regarde la ligne Cells(2, 1) = Sheets("data").Range("C" & j).Value ' << écriture dans B2 ici
Sub generer_mois()

Application.ScreenUpdating = False

Range("A1:CV100").ClearContents

    ComboBox1.ListIndex = mois - 1
 
'année
 annee = Year(Sheets("cascade").Range("D2"))
 Cells(1, 1) = annee
 
 'mois  1ere col
    'mois en lettres
    For j = 1 To 12
        If Sheets("data").Range("B" & j) = mois Then
        Cells(2, 1) = Sheets("data").Range("C" & j).Value ' << écriture dans B2 ici
        End If
    Next j



ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
fronck
Membre fidèle
Membre fidèle
Messages : 478
Appréciations reçues : 10
Inscrit le : 26 septembre 2015
Version d'Excel : 2016
Contact :
Téléchargements : Mes applications

Message par fronck » 16 juillet 2019, 18:55

Bonjour,
Non Ric, je parlais du fichier CP2, feuille 'Mensuel', ici:
Sans titre.png
Sans titre.png (3.92 Kio) Vu 45 fois
en rapport avec la macro de la feuille Mensuel:
Sans titre2.png
Sans titre2.png (3.57 Kio) Vu 42 fois
Concernant mon fichier:
Au début de la macro Sub generer_mois(), il y a mois = SpinButton_mois.Value qu'il faut remplacer par ComboBox1.ListIndex = mois - 1 ... comme dans le fichier que j'ai soumis.
çà bug.
a+
fronck
Pour coder les opérations simples, enregistrer une macro avec la manipulation que vous voulez faire. ;;)
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'255
Appréciations reçues : 191
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 16 juillet 2019, 19:19

Bonjour,

Fichier CP2.xlsm > feuille "Mensuel" > B2 et C2 sont écrits à partir du module "Time" ...
Sub PrecSuiv(Plus As Boolean)
Dim Mo As Integer, An As Integer

    With Sheets("Mensuel")
        Mo = .Range("B2")
        An = .Range("C2")
        Mo = Mo + IIf(Plus, 1, -1)
        An = An + IIf(Mo = 0, -1, IIf(Mo = 13, 1, 0))
        Mo = IIf(Mo = 0, 12, IIf(Mo = 13, 1, Mo))
        
        .Range("B2") = Mo  ' <<<<< B2  ici
        .Range("C2") = An  ' <<<<< C2  ici
        
        .ComboBox1.ListIndex = Mo - 1
        .ComboBox2.Value = An
    End With
End Sub
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
fronck
Membre fidèle
Membre fidèle
Messages : 478
Appréciations reçues : 10
Inscrit le : 26 septembre 2015
Version d'Excel : 2016
Contact :
Téléchargements : Mes applications

Message par fronck » 16 juillet 2019, 19:48

Bonjour,
Ok merci.
c'est quoi ce truc à 3 variables: :)
Mo = Mo + IIf(Plus, 1, -1)
a+
fronck
Pour coder les opérations simples, enregistrer une macro avec la manipulation que vous voulez faire. ;;)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message