Liste de validation de dates

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

natorp

XLDnaute Barbatruc
Bjr à tous et toutes
Je cherche à faire une liste de validation en fonction des date début et fin

en colonne A = date début
en colonne B = date fin
en colonne C = liste de validation des jours compris entre A et B

j'ai bien essayé ça : =ET(C1>=A1;C1<=B2) mais ça marche pas !!!

merci de votre attention
Cordialement, Gérard
 
Re : Liste de validation de dates

bonjour natorp, JP14


voici un exemple :
la macro se situe sur la feuille (clic droit sur l'onglet >> Visualiser le code)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dateDebut As Date, dateFin As Date, texteValidation As String

'si la cellule sélectionnée ne se trouve pas dans la zone C2:C8, quitter la macro
If Application.Intersect(Target, Range("C2:C8")) Is Nothing Then Exit Sub

'si une des 2 cellules de gauche ne contient pas de date, quitter la macro
If (Not IsDate(Target.Offset(0, -1))) Or (Not IsDate(Target.Offset(0, -2))) Then Exit Sub

dateDebut = Target.Offset(0, -2)
dateFin = Target.Offset(0, -1)

'créer la liste de validation
Do
    texteValidation = texteValidation & Format(dateDebut, "dd/mm/yy") & ","
    dateDebut = dateDebut + 1
Loop Until dateDebut > dateFin

'affecter la nouvelle validation
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Left(texteValidation, Len(texteValidation) - 1)
End Sub
a+
 

Pièces jointes

Re : Liste de validation de dates

merci mromain
est-il possible de faire ce que je souhaite par une formule dans la source d'une liste de validation ?
Je travaille sur un fichier excel qui doit migrer ensuite en Open Office et je ne suis pas capable de ré-écrire le Vba en basic Open Office

cordialement, Gérard
 
Re : Liste de validation de dates

merci mromain
est-il possible de faire ce que je souhaite par une formule dans la source d'une liste de validation ?
Je travaille sur un fichier excel qui doit migrer ensuite en Open Office et je ne suis pas capable de ré-écrire le Vba en basic Open Office

cordialement, Gérard

re bonjour,

A mon avis (plutôt à mon niveau 😉), je ne pense pas que ce soit faisable :
En effet, la validation étant différente sur chaque ligne, il faudrait une formule par ligne.
J'espère me tromper...


a+
 
Re : Liste de validation de dates

Bonjour natorp, mromain,

On peut définir le nom Liste par une formule "évolutive".

C2 étant sélectionnée, menu Insertion-Nom-Définir :

=TEXTE(LIGNE(INDIRECT(Feuil1!$A2&":"&Feuil1!$B2));"jj/mm/aa")

On peut vérifier dans la feuille que Liste est bien une matrice.

Le problème est que si l'on tente de créer une validation avec =Liste, ça ne marche pas 😱

A+
 
Re : Liste de validation de dates

Re,

Puisque les matrices ne sont pas acceptées, il faut se rabattre sur un tableau auxiliaire.

Entrer en D2 la formule :

=REPT(TEXTE($A2+COLONNE()-4;"jj/mm/aa");$A2+COLONNE()-5<$B2)

et la tirer vers le bas et à droite jusqu'où nécessaire (colonne M par exemple).

Puis C2 étant sélectionnée, définir le nom Liste par la formule :

=DECALER(Feuil1!$D2;;;;NB.SI(Feuil1!$D2:$IV2;"?*"))

Enfin créer la liste de validation avec la formule =Liste

Edition : on peut aussi se passer du nom Liste et entrer directement la formule de validation (pour C2) :

=DECALER($D2;;;;NB.SI($D2:$IV2;"?*"))

Voir fichier (2)

A+
 

Pièces jointes

Dernière édition:
- 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
12
Affichages
366
Réponses
15
Affichages
821
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
422
Réponses
7
Affichages
178
Retour