Sélection automatique liste déroulante

Bonjour,

Je suis entrain de chercher une solution pour afficher automatiquement une valeur de liste déroulante en fonction d'une colonne Date et une colonne chaîne de caractères.

=SI(ET([@[Titre Emission]]="Météo"); SI(ET([@Date]=$F$1);'Menus déroulants'!$E$1);SI(ET([@Date]<>$F$1);'Menus déroulants'!$E$4;'Menus déroulants'!$E$2))

L'idée c'est de dire que : SI la date en colonne A est différente de la date en F1 Alors c'est une rediffusion ; SI la date en A = la date en F1 ET SI le titre de l'émission = "Météo" alors c'est une première diffusion SINON c'est un direct

En espérant être clair

Peut être qu'il serait plus judicieux de passer par une fonction personnalisée mais je ne parviens pas à faire référence à une cellule spécifique d'une page spécifique de cette manière.

En vous remerciant par avance,

Bonjour Nym

Pourquoi faire simple quand on veut faire compliquer

=SI([@Date]<>$F$1;"Rediff";Si([@[Titre Emission]]="Météo";"1ere Diff";"Direct")

A+

Bonjour,

Merci en effet c'est mieux mais pas encore ça :)

=SI([@Date]<>$F$1;'Menus déroulants'!E3; SI([@Date]=$F$1;'Menus déroulants'!E1; SI([@[Titre Emission]]="Météo";'Menus déroulants'!E1;'Menus déroulants'!E2 )))

J'en suis donc là, Mais j'ai besoin de rajouter deux donner et je coince ... Je dois me planter quelque part.

SI([@Date]="-";"-"; SI([@Date]="A remplir";"Erreur")

Si j'ajoute ces conditions, je me retrouve avec une erreur

Ah ah et au delà de ça je viens de trouver un autre soucis avec ça ... En fait pour METEO et Le Journal, une fois passer 18:30 il doit mettre ça en Rediffusion ... (Oui j'aime bien quand ce n'est pas simple)

Dans cette fonction, écris en français les conditions qui doivent être satisfaites et rajoute celles qui manqueraient, notamment le cas pour les émissions en direct. N'hésite pas à écrire dans les lignes.

Function MajTypeDiffusion(ByVal DateEmission As Variant, ByVal DateJournee As Date, ByVal TitreEmission As String) As String

    MajTypeDiffusion = ""

    If TitreEmission = "Météo" Then
       MajTypeDiffusion = "1ere Diff"
    Else

       Select Case DateEmission
              Case "-"
                   MajTypeDiffusion = "-"
              Case "A remplir"
                   MajTypeDiffusion = "Erreur"
              Case Else
                   If DateEmission - DateJournee = 0 Then
                      MajTypeDiffusion = "1ere Diff"
                   Else
                      MajTypeDiffusion = "Rediff"
                   End If

       End Select

       If MajTypeDiffusion = "" Then MajTypeDiffusion = "Inconnue"

    End If

End Function

Merci beaucoup,

ça fonctionne sauf pour le cas "Météo" qui du coup ne tient pas compte de la date visiblement.

Que doit faire la fonction si Météo ?

J'ai un peu remanié la fonction toutefois il me reste un petit point noir ...
La fonction dit que si la date = date du jour alors Première Diff. Oui certes, c'est vrai pour la première fois où l'émission passe à cette date mais comme c'est un système de boule la même émission va passer à plusieurs reprises. Dans ce cas est-il possible d'ajouter un facteur de récurrence ?

Si Date = Date du jour ET SI première fois que le titre est rencontré ALORS "1ère Diff" SINON "Rediff"

Function MajTypeDiffusion(ByVal DateEmission As Variant, ByVal DateJournee As Date, ByVal TitreEmission As String) As String

    MajTypeDiffusion = ""

    If TitreEmission = "Météo" And DateEmission < DateJournee Then
       MajTypeDiffusion = "Rediff"
    Else

       Select Case DateEmission
              Case "-"
                   MajTypeDiffusion = "-"
              Case "A remplir"
                   MajTypeDiffusion = "Erreur"
              Case Else
                   If DateEmission - DateJournee = 0 Then
                      MajTypeDiffusion = "1ere Diff"
                   Else
                      MajTypeDiffusion = "Rediff"
                   End If

       End Select

       If MajTypeDiffusion = "" Then MajTypeDiffusion = "Inconnue"

    End If

End Function

Je pense que ta base n'est pas conçue pour faire cela, il faudrait avoir une base unique et pas répartie en 7.

Question : Comment identifie-t-on de manière unique une émission ? L'ID Web ?

Non l’ID web n’identifie que la catégorie d’émission mais pas de manière unique par numéro c’est ID qui l’identifie de manière unique avec la date de première diffusion les initiales de l’émission et le type de diffusion justement

En revanche j'ai eu une illumination pendant la nuit :)

il suffirait de se baser sur l'heure car tout ce qui est avant 18:30 (à l'exception de l'émission "Ça bouge à la maison" qui est toujours une première diff) c'est de la rediffusion, entre 18:30 et 20:30 c'est du direct ou de la première diff ou éventuellement un peu de Rediffusion en fonction du nom et de la date et enfin de 20:30 à minuit ce sera fatalement de la rediffusion .

Est-ce que partant de ça ce serait plus facile ?

Je regarde et te tiens au courant.

Merci beaucoup

A tester :

Function MajTypeDiffusion(ByVal DateEmission As Variant, ByVal TimeIn As Date, ByVal DateJournee As Date, ByVal TitreEmission As String) As String

    MajTypeDiffusion = ""

    If TitreEmission = "Météo" Or TitreEmission = "Ça bouge à la maison" Then
       MajTypeDiffusion = "1ere Diff"
    Else

       Select Case DateEmission
              Case "-"
                   MajTypeDiffusion = "-"
              Case "A remplir"
                   MajTypeDiffusion = "Erreur"
              Case Else
                   Select Case TimeIn * 24
                         Case Is < 18.5
                             MajTypeDiffusion = "Rediff"
                        Case 18.5 To 20.5
                             MajTypeDiffusion = "1ere Diff"
                        Case Is > 20.5
                                MajTypeDiffusion = "Rediff"
                   End Select
       End Select

       If MajTypeDiffusion = "" Then MajTypeDiffusion = "Inconnue"

    End If

End Function

Bonjour,

ça fonctionne sauf pour la météo qui est toujours en "1ere Diff" alors qu'il faudrait qu'elle passe en rediff après 20:30

Function MajTypeDiffusion(ByVal DateEmission As Variant, ByVal TimeIn As Date, ByVal DateJournee As Date, ByVal TitreEmission As String) As String

    MajTypeDiffusion = ""

    Select Case TitreEmission
           Case "Météo"
                   Select Case TimeIn * 24
                        Case Is <= 20.5
                             MajTypeDiffusion = "1ere Diff"
                        Case Is > 20.5
                                MajTypeDiffusion = "Rediff"
                   End Select

           Case TitreEmission = "Ça bouge à la maison"
                MajTypeDiffusion = "1ere Diff"
    Case Else

       Select Case DateEmission
              Case "-"
                   MajTypeDiffusion = "-"
              Case "A remplir"
                   MajTypeDiffusion = "Erreur"
              Case Else
                   Select Case TimeIn * 24
                         Case Is < 18.5
                             MajTypeDiffusion = "Rediff"
                        Case 18.5 To 20.5
                             MajTypeDiffusion = "1ere Diff"
                        Case Is > 20.5
                                MajTypeDiffusion = "Rediff"
                   End Select
        End Select

    End Select

    If MajTypeDiffusion = "" Then MajTypeDiffusion = "Inconnue"

End Function

Est-il possible de faire quelque chose comme ça ?

  Case 18.5 To 20.25 and "Sport Passion"
                             MajTypeDiffusion = "1ere Diff"

Sachant que j'ai repris la formule pour que Case 18.5 to 20.25 MajTypeDiffusion = "Direct"

Cela ne marche pas tout à fait comme cela. Pourquoi 20,25 ?

Function MajTypeDiffusion(ByVal DateEmission As Variant, ByVal TimeIn As Date, ByVal DateJournee As Date, ByVal TitreEmission As String) As String

    MajTypeDiffusion = ""

    Select Case TitreEmission
           Case "Météo"
                   Select Case TimeIn * 24
                        Case Is <= 20.5
                             MajTypeDiffusion = "1ere Diff"
                        Case Is > 20.5
                                MajTypeDiffusion = "Rediff"
                   End Select

           Case TitreEmission = "Ça bouge à la maison"
                MajTypeDiffusion = "1ere Diff"
    Case Else

       Select Case DateEmission
              Case "-"
                   MajTypeDiffusion = "-"
              Case "A remplir"
                   MajTypeDiffusion = "Erreur"
              Case Else
                   Select Case TimeIn * 24
                         Case Is < 18.5
                             MajTypeDiffusion = "Rediff"
                        Case 18.5 To 20.5
                             Select Case TitreEmission
                                   Case "Sport Passion"
                                         MajTypeDiffusion = "1ere Diff"
                                   Case "XXXXX"
                                         MajTypeDiffusion = "AAAAA"
                                   Case "YYYYY"
                                        MajTypeDiffusion = "BBBB"
                                   Case Else
                                        MajTypeDiffusion = "1ere Diff"
                        Case Is > 20.5
                                MajTypeDiffusion = "Rediff"
                   End Select
        End Select

    End Select

    If MajTypeDiffusion = "" Then MajTypeDiffusion = "Inconnue"

End Function

Parce que 20,5 est le début de la première rediff du TJ donc si je mets 20,5 tout pile il va le mettre en direct et non en rediff tout simplement et comme je n'ai rien à 20,25 ...

Je regarde avec cette version

il manque un sélect case ou un end sélect peut être mais je n'arrive pas à identifier où

capture d ecran 2022 02 18 a 09 20 22
Rechercher des sujets similaires à "selection automatique liste deroulante"