Extraire valeur d'un timeline vers une cellule

Bonjour,

Est-il possible d'extraire les valeurs d'un timeline dans une cellule?

Par exemple, si je sélectionne janvier, "jan 2018" apparaît dans la cellule.

Si je sélectionne janvier et février, "jan-feb 2018" apparaît dans la cellule.

Si je sélectionne janvier et mai, "jan-mai 2018" apparaît dans la cellule.

Si je sélectionne tout, "all" apparaît dans la cellule.

Merci.

18timeline.xlsx (21.08 Ko)

Bonjour,

A mettre dans le module de la feuille, résultat en B12 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim Dico As Object
    Dim Plage As Range
    Dim Cel As Range
    Dim T() As String
    Dim I As Integer
    Dim Annee As Integer
    Dim Mois As String

    Set Plage = Range("C2:C7")

    If Not Intersect(Target, Plage) Is Nothing Then

        If Target.Count > 1 Then

            If Target.Count = Plage.Count Then Range("B12").Value = "All": Exit Sub

            Annee = Year(Target(1).Value)

            Set Dico = CreateObject("Scripting.Dictionary")

            For Each Cel In Target

                Mois = MonthName(Month(Cel.Value), True)

                'le dictionnaire évite d'avoir plusieurs fois le même mois
                If Not Dico.Exists(Mois) Then

                    Dico(Mois) = ""

                    I = I + 1: ReDim Preserve T(1 To I)
                    T(I) = Mois

                End If

            Next Cel

            Mois = ""

            For I = 1 To UBound(T): Mois = Mois & T(I) & " - ": Next I
            Mois = Left(Mois, Len(Mois) - 2)

            Range("B12").Value = Mois & Annee

        Else

            Range("B12").Value = MonthName(Month(Target.Value), True) & " " & Year(Target(1).Value)

        End If

    End If

End Sub

Bonjour,

A mettre dans le module de la feuille, résultat en B12 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim Dico As Object
    Dim Plage As Range
    Dim Cel As Range
    Dim T() As String
    Dim I As Integer
    Dim Annee As Integer
    Dim Mois As String

    Set Plage = Range("C2:C7")

    If Not Intersect(Target, Plage) Is Nothing Then

        If Target.Count > 1 Then

            If Target.Count = Plage.Count Then Range("B12").Value = "All": Exit Sub

            Annee = Year(Target(1).Value)

            Set Dico = CreateObject("Scripting.Dictionary")

            For Each Cel In Target

                Mois = MonthName(Month(Cel.Value), True)

                'le dictionnaire évite d'avoir plusieurs fois le même mois
                If Not Dico.Exists(Mois) Then

                    Dico(Mois) = ""

                    I = I + 1: ReDim Preserve T(1 To I)
                    T(I) = Mois

                End If

            Next Cel

            Mois = ""

            For I = 1 To UBound(T): Mois = Mois & T(I) & " - ": Next I
            Mois = Left(Mois, Len(Mois) - 2)

            Range("B12").Value = Mois & Annee

        Else

            Range("B12").Value = MonthName(Month(Target.Value), True) & " " & Year(Target(1).Value)

        End If

    End If

End Sub

Bonjour,

Désolé pour le délai, je n'avais pas accès au Wifi pendant des jours.

Merci pour ta réponse. J'ai par contre mis le code dans le module dans la feuille et cliquer sur le timeliner, mais rien ne se passe.

Bonjour,

Une fois que tu as collé le code dans le module de la feuille (module nommé Feuil1 (Sheet1) ) il te suffit de sélectionner une ou plusieurs cellules en C2:C7 pour voir le résultat en B12 !

Par exemple, si je sélectionne de C2 à C4 le résultat en B12 est "janv - févr - juil 2018"

Bonjour,

Une fois que tu as collé le code dans le module de la feuille (module nommé Feuil1 (Sheet1) ) il te suffit de sélectionner une ou plusieurs cellules en C2:C7 pour voir le résultat en B12 !

Par exemple, si je sélectionne de C2 à C4 le résultat en B12 est "janv - févr - juil 2018"

Bonjour,

Cela fonctionne, mais je pense que je me suis mal exprimé. Je cherche plutôt à avoir la période lorsque je sélectionne un range dans le timeliner comme dans l'image.

timelineexemple

Bonjour

42timeline.xlsm (27.21 Ko)

Bonjour

Merci!! C'est ce que je recherchais!

Rebonjour,

En fait, j'aurais une dernière question par rapport à mon problème.

J'ai tenté d'utiliser le code sur plusieurs feuilles (chaque feuille comporte un tableau dynamique croisé et un timeliner), néanmoins cela fonctionne qu'avec un seul timeliner. Le deuxième timeliner semble recevoir la valeur du premier.

Est-ce normal?

Cordialement,

Re,

J'avais mal déclarer les noms des NativeTimeliner.

Merci.

C'est réglé.

Re

Si la source des TCD est la même tu peux connecter une même chronologie à tous les TCD pour les synchroniser

Re

Si la source des TCD est la même tu peux connecter une même chronologie à tous les TCD pour les synchroniser

Re,

Les sources sont différentes.

Merci encore!

Rechercher des sujets similaires à "extraire valeur timeline"