liste dans userform

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
 

sousou

XLDnaute Barbatruc
Re : liste dans userform

Bonjour zesuila

Je te propose quelquechose comme le fichier joint
A toi d'adapter
 

Pièces jointes

  • dates.xls
    62.5 KB · Affichages: 61
  • dates.xls
    62.5 KB · Affichages: 68
  • dates.xls
    62.5 KB · Affichages: 64

Robert

XLDnaute Barbatruc
Repose en paix
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

  • Zesuila_v01.xls
    85.5 KB · Affichages: 54

Discussions similaires

Réponses
3
Affichages
416

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia