• Initiateur de la discussion Initiateur de la discussion zesuila
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zesuila

XLDnaute Occasionnel
bonjour
j'ai une feuille "planning"
dans celle ci en 1ere colonne j'ai un calendrier de 2011 à 2014 (format du type mercredi 01 janvier 2011)
je voudrais que dans l'userform il y ait une liste de choix du type "janvier 11" et ainsi de suite avec tous les mois et qu'en choisissant un des éléments on accède directement dan la feuille planning à ce mois
par exemple : je choisi mars 2012 et j'arrive par exemple au 1er jour du mois de mars 2012 dans la feuille planning.

merci
 
Re : liste dans userform

Bonsoir le fil, bonsoir le forum,

j'avais travaillé sur le projet mais par manque de temps je n'ai pas pu l'envoyer plus tôt. Malgré les autres réponses je l'envoie quand même...
Double-clique sur n'importe quelle cellule de la colonne A, onglet Feuil1. L'Userform s'ouvre, choisit un mois/année et la cellule correspondante est sélectionnée et se place en haut de la fenêtre.

Les codes :
• ouverture de l'Userform au double-clic
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic dans l'onglet
'si le double-clic a lieu dans la colonne 1, évite le mode édition lié au double-clic, affiche l'UserForm1
If Target.Column = 1 Then Cancel = True: UserForm1.Show
End Sub
• Sélection du premier jour de la date choisie
Code:
Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
'boucle sur toutes les cellules éditées de la colone A de l'onglet "Feuil1"
For Each cel In Sheets("Feuil1").Range("A1:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
    If Day(cel.Value) = 1 Then 'condition : si le jour de la cellule cel est 1
        Me.ComboBox1.AddItem cel.Value 'ajoute la valeur de la cellule à la ComboBox1
        'applique le format "mmmm aaaa" à la valeur ajoutée
        Me.ComboBox1.Column(0, Me.ComboBox1.ListCount - 1) = Format(Me.ComboBox1.Column(0, Me.ComboBox1.ListCount - 1), "mmmm yyyy")
        'récupère dans la colonne caché de la COmboBox1 le numéro de la ligne de la cellule
        Me.ComboBox1.Column(1, Me.ComboBox1.ListCount - 1) = cel.Row
    End If 'fin de la condition
Next cel 'prochaine cellule cel de la boucle
End Sub
 
Private Sub ComboBox1_Change() 'au changement dans la ComboBox1
'sélectionne la cellule de la colonne A, ligne récupérée dans colonne masquée de la ComboBox1
Sheets("Feuil1").Cells(Me.ComboBox1.Column(1, Me.ComboBox1.ListIndex), 1).Select
ActiveWindow.ScrollRow = ActiveCell.Row 'place la ligne en haut de la fenêtre active
Unload Me 'vide et ferme l'UserForm
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
586
Réponses
12
Affichages
1 K
B
Réponses
14
Affichages
1 K
G
Réponses
5
Affichages
2 K
G
Réponses
1
Affichages
1 K
K
Réponses
4
Affichages
896
kangourou01
K
S
Réponses
1
Affichages
978
Retour