XL 2010 Selection_Change

  • Initiateur de la discussion Initiateur de la discussion thunder23
  • 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 !

thunder23

XLDnaute Occasionnel
Bonjour le forum,

Je viens vers vous car je ne trouve pas de solution à mon problème. Je voudrais que quand je sélectionne la date dans une plage de cellule qui se situe de B12 à AF12, que ça ouvre un userform, que ça le préremplie par les informations qui sont dans une BDD sur une autre feuille. Aujourd'hui j'ai fais 99% du code sauf que ça fonctionne que pour le mois de Janvier mais pas pour les autres mois. J'ai mis un fichier en pièce jointe pour mieux comprendre mon problème
 

Pièces jointes

Bonjour Thunder,
Dans la sub UserForm_Initialize j'ai changé le remplissage de ComboBox_date avec :
VB:
ComboBox_date.List = Application.Transpose(Sheets("Feuil1").Range("B12:AF12").Value)
et ça à l'air de marcher.😉
 
Bonjour Thunder,
Dans la sub UserForm_Initialize j'ai changé le remplissage de ComboBox_date avec :
VB:
ComboBox_date.List = Application.Transpose(Sheets("Feuil1").Range("B12:AF12").Value)
et ça à l'air de marcher.😉

Bonjour sylvanu,

effectivement ça fonctionne bien quand je sélectionne la date directement mais quand je passe par le bouton pour appeler l'userform et que je sélectionne une date dans la combobox, ça ne fonctionne plus. Est-ce que tu penses que si je créais un If en fonction si je passe par selection change ou par le bouton macro ça fonctionnerais?
 
Pour cela il faut dissocier les Init.
Pour Edit :
VB:
Sub Edit()
    UserForm1.ComboBox_date.List = Application.Transpose(Sheets("Feuil2").Range("A2:A365").Value)
    UserForm1.Show
End Sub
Pour Clic sur date :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("B12:AF12")) Is Nothing Then
        UserForm1.ComboBox_date.List = Application.Transpose(Sheets("Feuil1").Range("B12:AF12").Value)
        Cancel = True
        UserForm1.Show
        Load UserForm1
   End If
End Sub
 
Ok super c'est exactement comme je le souhaite mais le seul bémol est que quand je sélectionne la date dans la combobox de l'userform ou que je passe par la sélection_change, ça ne renseigne plus le reste de l'userform, si j'ai déjà un poste de renseigné, si j'ai un commentaire etc. mais c'est déjà une très bonne avancé 😉
 
Et vous avez aussi une erreur d'initialisation sur la date de fin qui reste bloqué en janvier quand on clique sur une date. Ce qui induit une erreur quand on clique sur Valider.
Problème absent quand on passe par Edit.
Reprenez tout calmement, il y a surement encore des incohérences de code.
 
- 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
1
Affichages
158
Réponses
3
Affichages
224
  • Question Question
Réponses
5
Affichages
307
Réponses
4
Affichages
158
Deleted member 453598
D
Retour