Déterminer dates de début et de fin selon couleur des cellules

jorge1201

XLDnaute Occasionnel
Bonjour le forum,

Quoi de mieux qu'un dimanche ensoleillé pour travailler sur excel?

Vous trouverez, dans le fichier joint, l'exposé de mon problème. Il s'agit, dans un planning, de définir les dates de début et de fin d'une période d'après la couleur de fond d'une cellule ou d'une plage des cellules.

Des explications plus détaillées se trouvent dans le fichier.

En vous remerciant d'avance de l'intérêt que vous voudrez bien porter à ma question, je vous fais parvenir mes cordiales salutations.

Jorge.
 

Pièces jointes

  • DatesDebutFinSelonCouleurPlage.xlsx
    12.7 KB · Affichages: 57

Lolote83

XLDnaute Barbatruc
Re : Déterminer dates de début et de fin selon couleur des cellules

Salut Jorge1201,
Rapidement en espérant que cela convienne.
Cordialement
Lolote83
 

Pièces jointes

  • Copie de JORGE1201 - DatesDebutFinSelonCouleurPlage.xlsm
    23.2 KB · Affichages: 55

DoubleZero

XLDnaute Barbatruc
Re : Déterminer dates de début et de fin selon couleur des cellules

Bonjour, jorge1201, Lolote83, le Forum,

Une suggestion en pièce jointe.

A bientôt :)
 

Pièces jointes

  • 00 - jorge1201 - Renseigner selon couleur.xls
    59 KB · Affichages: 59

jorge1201

XLDnaute Occasionnel
Re : Déterminer dates de début et de fin selon couleur des cellules

Bonjour le forum, Lolote83 et DoubleZero,

Merci pour vos réponses.
J'ai testé sommairement vos propositions et celle de Lolote83 marche parfaitement.
La proposition de 00, bogue et un message s'affiche "Erreur 1004: Pas de cellules correspondantes" et surligne le code suivant:

Columns("ba:ba").SpecialCells(xlCellTypeConstants, 23).Copy Destination:=Range("bb1")

Mais je vais essayer encore, un peu plus tard, et je reviendrais vers vous.

Merci encore. Jorge
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Déterminer dates de début et de fin selon couleur des cellules

Bonjour jorge1201, Lolote83, DoubleZero et les autres,

Un autre essai utilisant une fonction personnalisée matricielle récursive.

la méthode est basée sur le fait qu'une cellule hors période n'a aucun remplissage (la couleur appliquée par la MFC ne change pas cet état de fait). La couleur de la période n'a donc pas d'importance. Cela évite aux utilisateurs d'utiliser une autre couleur verte qui n'est pas exactement le vert désiré. Deux périodes contigües de couleurs différentes compteront néanmoins pour deux périodes différentes.

La fonction prend deux paramètres en entrée: la plage de la colonne du calendrier dont on modifie les couleurs (ici C5:C35) et le numéro de la période désirée (ici valeur de la cellule F7) -> ex: =Periode($C$5:$C$35;F7) ). Il peut y avoir plusieurs plages dans le mois.

On inclut dans la plage les samedis, dimanches et fériés.

Pour saisir la formule:

  • sélectionner la plage F8 à F10
  • tout en gardant bien cette plage sélectionnée, allez dans la barre de formule avec la souris (ou touche <F2>) et saisir la formule =Periode($C$5:$C$35;F7) soit entièrement à la main soit en s'aidant de la souris.
  • en veillant que la plage est toujours sélectionnée, valider cette formule matricielle par la combinaison des touches Ctrl+Maj+Entrée
  • puis copier la zone F8 à F10 pour la coller vers F14, F20, F26, F32.

Le bouton "Calculer" recalcule les formules (le changement de format d'une cellule n'est pas un évènement intercepté par Excel)

Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • ORGE1201 - DatesDebutFinSelonCouleurPlage v1a.xlsm
    28.3 KB · Affichages: 50
Dernière édition:

Discussions similaires

Réponses
15
Affichages
1 K

Statistiques des forums

Discussions
312 195
Messages
2 086 079
Membres
103 112
dernier inscrit
cuq-laet