none
Comment actionner un événement par programmation (Monthview) RRS feed

  • Question

  • Bonjour cher(e)s ami(e)s

     

    Sur une feuille1(worksheets) j’ai un contrôle monthview :

     

    Private Sub Monthview1_DateClick(ByVal DateClicked As Date)

                    Dès qu’on  click sur une date plusieurs informations concernant cette date sont récupérés

                    de feuille2 et affichées dans feuille1

    End Sub

     

    Par ailleurs je voudrais que lorsqu’on click sur une cellule contenant une date dans feuille3

    que cette action aie le même effet que si on avait clicker la même date dans monthview.

    en d’autre mots qu’à partir de cette cellule de feuille3 on  se retrouve dans la feuille1 avec les données venant de feuille2

     

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

                    Si la cellule active répond aux bons critères alors

                    ???????????????????????????????????????????

                    ???????????????????????????????????????????

                    Que dois-je écrire pour faire comme si l’usager avait clicker

                    la date sur le monthview

                    ????????????????????????????????????????????

    ????????????????????????????????????????????

    End Sub

     

     

    Merci à l’avance

     

    mercredi 5 mars 2008 20:53

Toutes les réponses

  •  

    Bonjour,

     

    Il vous suffit d'exploiter la propriété Target...

    Par exemple :

    Code Snippet

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        ' On affecte à Feuil1!B5 la valeur de Feuil3!B5
        If Target.Row = 5 Then 'Ligne N° 5
            If Target.Column = 2 Then 'Colonne B
                Feuil1.Range("B5").Value = Target.Value
                Feuil1.Select
            End If
        End If
       
    End Sub

     

     

     

    Est-ce bien ce que vous souhaitez ?

    jeudi 6 mars 2008 17:09
    Modérateur
  •  

    Pas tout à fait.

     

    Je veux que lorsqu'on click dans la cellule appropriée de feuil3 je veux que s' exécute tout le code qui s'exécute lorsqu'on click sur une date dans monthview.

     

    Merci de prendre le temps de me répondre

    jeudi 6 mars 2008 18:30
  • Eh bien dans ce cas, il vous faire en sorte que ce qui se passe sur l'événement Click du contrôle MonthView soit écrit dans une procédure autre que l'événement lui-même...

     

    De ce fait vous pouvez appeler la même procédure à partir du code quie je vous ai founi précédemment.

     

    Par exemple :

    Code Snippet

     

     ' -----------------------------------------

    Dans un module inséré

     ' -----------------------------------------

     

    Public Sub Procedure_Du_MonthView()
        MsgBox "Vous avez appelé la procédure Procedure_Du_MonthView..."
    End Sub

     ' -----------------------------------------

    Dans le module de la feuille

     ' -----------------------------------------

    Private Sub MonMonthView_Click()
        Call Procedure_Du_MonthView
    End Sub

     

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        ' On affecte à Feuil1!B5 la valeur de Feuil3!B5
        If Target.Row = 5 Then 'Ligne N° 5
            If Target.Column = 2 Then 'Colonne B
                Call Procedure_Du_MonthView
            End If
        End If
    End Sub

     

     

     

    vendredi 7 mars 2008 11:33
    Modérateur
  • HiHiHiHi

     

    C' est super !

    Trop simple pour y avoir penser !

     

    Merci beaucoup

    vendredi 7 mars 2008 15:26