Utiliser la cellule liée d'une liste déroulante dans une macro
Avaiane
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutante en programmation avec vb et je suis confrontée à un problème dans le cadre d'un stage.
Je dispose sur une feuille d'une liste de données avec des dates objectifs et les dates où la tache a été achevée réellement. Mon but est de calculer les pénalités à appliquer pour chaque tâche en retard. L'utilisateur doit pouvoir calculer les pénalités en choisissant un mois.
J'ai donc fais une liste déroulante comportant tous les mois. Je souhaite me servir de la date choisie par l'utilisateur de façon à ne m'intéresser qu'aux tâches de la base de donnée qui sont postérieures au calcul.
Ex: l'utilisateur choisit le mois de mars -> je dois uniquement calculer les pénalités des tâches dont la date d'objectif est située avant mars.
Mon problème est le suivant: dans la cellule liée à la liste déroulante, je n'ai que le numéro de ligne. Je ne peux donc pas m'en servir par la suite pour comparer la date d'objectif des taches avec la date choisie par l'utilisateur. Y a-t-il un moyen pour transformer la cellule liée en date?
Merci d'avance à ceux qui prendront le temps de m'aider
Je suis débutante en programmation avec vb et je suis confrontée à un problème dans le cadre d'un stage.
Je dispose sur une feuille d'une liste de données avec des dates objectifs et les dates où la tache a été achevée réellement. Mon but est de calculer les pénalités à appliquer pour chaque tâche en retard. L'utilisateur doit pouvoir calculer les pénalités en choisissant un mois.
J'ai donc fais une liste déroulante comportant tous les mois. Je souhaite me servir de la date choisie par l'utilisateur de façon à ne m'intéresser qu'aux tâches de la base de donnée qui sont postérieures au calcul.
Ex: l'utilisateur choisit le mois de mars -> je dois uniquement calculer les pénalités des tâches dont la date d'objectif est située avant mars.
Mon problème est le suivant: dans la cellule liée à la liste déroulante, je n'ai que le numéro de ligne. Je ne peux donc pas m'en servir par la suite pour comparer la date d'objectif des taches avec la date choisie par l'utilisateur. Y a-t-il un moyen pour transformer la cellule liée en date?
Merci d'avance à ceux qui prendront le temps de m'aider
A voir également:
- Excel liste déroulante cellule liée
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
2 réponses
Bonsoir Avaiane
pas besoin de la cellule liée, tu peux utiliser la cellule de la liste déroulante et en fonction du mois avec un Select Case retourner une date
Exemple avec la liste déroulante en C10
Cdlmnt
Via
pas besoin de la cellule liée, tu peux utiliser la cellule de la liste déroulante et en fonction du mois avec un Select Case retourner une date
Exemple avec la liste déroulante en C10
Select Case Range("C10") Case "janvier" madate = CDate("01/01/2015") Case "février" madate = CDate("01/02/2015") ' Continuer avec Case "mars" etc End Select
Cdlmnt
Via
Bonjour Via,
Je te remercie pour ta réponse.
Je suis désormais fasse à un autre problème. Ma liste déroulante contient les mois de l'année. Je souhaite que lorsque l'utilisateur sélectionne le mois de mars par exemple, seul les tâches qui ont été créées en mars apparaissent dans mon tableau. Y a-t-il un moyen de vérifier si une date donnée est bien comprise dans le mois sélectionné?
Je te remercie pour ta réponse.
Je suis désormais fasse à un autre problème. Ma liste déroulante contient les mois de l'année. Je souhaite que lorsque l'utilisateur sélectionne le mois de mars par exemple, seul les tâches qui ont été créées en mars apparaissent dans mon tableau. Y a-t-il un moyen de vérifier si une date donnée est bien comprise dans le mois sélectionné?
Bonjour Avalane
Oui tu peux vérifier le mois puisque dans la macro de mon message précédent, la variable madate contient une date, donc avec l'instruction MONTH(madate) tu auras le mois voulu.
Reste avec un IF à comparer si les dates de ton tableau correspondent, par exemple avec les dates dans la plage C2:C100 de la feuille nommée Données :
Cdlmnt
Via
Oui tu peux vérifier le mois puisque dans la macro de mon message précédent, la variable madate contient une date, donc avec l'instruction MONTH(madate) tu auras le mois voulu.
Reste avec un IF à comparer si les dates de ton tableau correspondent, par exemple avec les dates dans la plage C2:C100 de la feuille nommée Données :
For n=2 to 100 If month(sheets("Données").range("C" & n))=month(madate) then 'instruction à réaliser si c'est le bon mois ''''' End if Next n
Cdlmnt
Via