Colorier des cellules en fonction d'une condition d'intervalle

mini_bn42

XLDnaute Nouveau
Bonjour à tous,

J'ai à disposition un tableau sous EXCEL qui m'identifie les horaires d'un bus (de 8h à 15h) à un endroit donné tous les jours de la semaine. Dans le fichier joint, un "x" dans une cellule indique que le bus sera présent à cet endroit au jour indiqué (voir fichier joint).

Je souhaite en fait déterminer les plages horaires pour lesquelles les bus ne circuleront pas pour que j'envoie des personnes réaliser des travaux. Ayant besoin d'identifier les plages horaires qui durent au minimum 1 heure pour lesquelles aucun bus ne circule, je cherche un moyen de faire çà automatiquement.

Bien sûr les tableaux que je possède sont beaucoup plus importants comprenant tous les jours de la semaine sur une plus grande période. J'ai commencé à faire çà à la "main" mais cela s'avère beaucoup trop fastidieux.

Pourriez-vous m'indiquer un moyen simple (formules excel ou VBA) qui me permettrait d'identifier les plages possibles (en les colorant à l'aide d'une couleur quelconque), c'est à dire les plages de la semaine où j'ai au minimum 1h disponible ?

Merci d'avance à toutes les personnes qui pourront m'aider à résoudre mon problème. En espérant avoir été clair dans mes explications et ma demande.
 

Pièces jointes

  • Plages disponibles pour travaux.xlsx
    9.2 KB · Affichages: 157
G

Guest

Guest
Re : Colorier des cellules en fonction d'une condition d'intervalle

Bonjour et bienvenue sur le forum,

Dans le fichier joint tu trouveras une macro 'PlagesDiponibles' que tu peux lancer par ALT+F8, qui colore en jaune les zone pour lesquelle la plage horaire est supérieure à 1 heure

Mais comme les exemples ne sont pas assez précis, la macro ne compare que la première heure d'une plage de cellule et la dernière. Je ne peux savoir s'il faut nécessairement comparer toutes les heures.

Attention à la saisie des heures. Ne pas mettre d'espace ni autre caractères que chiffre et :

Une deuxième macro 'MiseABlanc' permet de décolorer les cellules vides de la plage.

A+
 
Dernière modification par un modérateur:

mini_bn42

XLDnaute Nouveau
Re : Colorier des cellules en fonction d'une condition d'intervalle

Bonjour à toi,

Tout d'abord merci bien pour ton aide. C'est exactement ce que je recherche et cela m'a grandement permis d'avancer.

Le seul problème que je rencontre actuellement est que je n'arrive pas à appliquer ton code à mon tableau réelle.

Que dois-je modifier à ton code pour l'adapter à n'importe quel tableau ?

Ci-joint une partie de mon tableau réelle. Il se peut que dans la colonne date, on trouve plusieurs fois la même heure. Cela est du au fait que mon tableau ne représente pas que le passage d'un seul bus mais de plusieurs.

Mon fichier joint comprend ton code sous VBA. J'ai modifié le nom de la feuille de calcul. J'ai identifié la zone "PlageHoraire" me ça ne fonctionne pas.

Peux-tu m'aider une fois de plus sur ce point ?

Merci d'avance.
 

Pièces jointes

  • Plages de travaux disponibles.xlsm
    18 KB · Affichages: 127
G

Guest

Guest
Re : Colorier des cellules en fonction d'une condition d'intervalle

Bonjour,

je ne sais d'où proviennent ces données mais les cellules blanche ne sont pas vides. Pour t'en convaincre, dans une cellule en dehors du tableau mets = ESTVIDE(V6)

Ci - joint une petite macro pour nettoyer tout ça.
Code:
Sub Nettoyer()
Dim plg As Range, c As Range
 For Each c In Range("PlageHoraire").Cells
    If UCase(c) <> "X" Then c.ClearContents
  Next
End Sub

Lance cette macro sur la plage avant de lancer l'autre.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 066
Membres
104 015
dernier inscrit
kkgk