Macro VBA

NoMercy

XLDnaute Nouveau
Bonsoir

Pourriez vous m'indiquer comment intégrer une macro dans le code d'une combobox, quelle est la syntaxe à écrire ?

Merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro VBA

Bonjour NoMercy,

il y a différentes procédures possibles pouvant agir sur un ComboBox, tout dépend de ce que tu veux faire
voici quelques exemples parmi d'autres
Code:
Private Sub ComboBox1_AfterUpdate()
' ton code ..........
End Sub

Private Sub ComboBox1_Change()
' ton code ..........
End Sub

Private Sub ComboBox1_Click()
' ton code ..........
End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' ton code ..........
End Sub

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' ton code ..........
End Sub
à+
Philippe
 

NoMercy

XLDnaute Nouveau
Re : Macro VBA

Merci pour ta réponse, mais ce n'est pas ce que j'attendais, je recommence plus précisement.
J'utilise un Combobox_Change() qui contient les 12 mois de l'année, j'ai un code quasi identique pour chacun des mois. Mais ce code est très long et lorsque je veux l'utiliser il y a un message qui dit dépassement des 64Ko autorisé. Donc je voudrais créer une macro ou autre chose qui reprendrais ce qui est en commun pour chacun des mois, que je placerais dans mes 12 if/end, ce qui diminuerais la taille du code de la Combo.
A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro VBA

Re,
Merci pour ta réponse, mais ce n'est pas ce que j'attendais, je recommence plus précisement.
J'utilise un Combobox_Change() qui contient les 12 mois de l'année, j'ai un code quasi identique pour chacun des mois. Mais ce code est très long et lorsque je veux l'utiliser il y a un message qui dit dépassement des 64Ko autorisé. Donc je voudrais créer une macro ou autre chose qui reprendrais ce qui est en commun pour chacun des mois, que je placerais dans mes 12 if/end, ce qui diminuerais la taille du code de la Combo.
A+
j'ai bien compris la demande mais sans voir le fichier et le code je ne peux apporter une réponse
il y a certainement des morceaux de procédure communes à chaque mois qui peuvent être résumées en une seule en utilisant la valeur de ComboBox.ListIndex

............. mais sans voir le fichier !!!!!!!!!!

à+
Philippe
 

NoMercy

XLDnaute Nouveau
Re : Macro VBA

OK, je joins un petit exemple qui resume ma demande, comment puis je simplifier le code de la ComboBox ou beaucoup de ligne sont identiques pour chaque mois.
Je n'ai saisi que 2 mois pour cet exemple.
Merci beaucoup
 

Pièces jointes

  • combo1.xlsm
    38.4 KB · Affichages: 56

Gelinotte

XLDnaute Accro
Re : Macro VBA

Bonjour,

Une façon basée sur la position des feuilles ... si c'est acceptable.

Code:
Private Sub ComboBox1_Change()
    Sheets((Sheets("Feuil1").ComboBox1.ListIndex) + 2).Visible = xlSheetVisible
    Sheets((Sheets("Feuil1").ComboBox1.ListIndex) + 2).Select
End Sub

G
 

laetitia90

XLDnaute Barbatruc
Re : Macro VBA

bonjour tous :):):):)
"brut" un code dans ce style pas simplifie!!


Code:
Private Sub ComboBox1_Click()
 Dim WS As Worksheet
 For Each WS In Sheets
 If WS.Name = ComboBox1 Then
 WS.Visible = xlSheetVisible
 WS.Activate
 Else
 If WS.Name <> "Feuil1" Then WS.Visible = xlSheetHidden
 End If
 Next WS
End Sub
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro VBA

Re, bonjour à tous

ayant été absent toute la journée et désolé pour le retard

dans le même style que Laetitia
Code:
Private Sub ComboBox1_Change()
For i = 2 To 13
Sheets(i).Visible = xlSheetVeryHidden
Next i
Sheets(ComboBox1.ListIndex + 2).Visible = xlSheetVisible
Sheets((Sheets("Feuil1").ComboBox1.ListIndex) + 2).Select
End Sub

à+
Philippe
 

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 975
dernier inscrit
denry