Microsoft 365 Cellules colorées d'une ligne (vba)

Gourbi1986

XLDnaute Nouveau
Bonjour à tous,

Nouveau problème :)

Donc dans mon tableau j'ai plusieurs plages de cellules colorées qui correspondent à des réservations et j'ai une colonne "retour prévu" qui m'indique l’en-tête de colonne (une date) de la dernière cellule colorée de cette ligne, jusqu'ici tout va bien :)
Par contre la fonction vba m'indique la dernière cellule colorées (donc le dernier jour de la dernière réservation) sans prendre en compte les autres plages de cellules colorées qui se trouvent avant :(

Ce que je voudrais c'est que la fonction vba s’arrête à la fin de la première plage de cellules colorées puis, passe à la suivante en fonction de la date du jour.

Merci d'avance pour vos réponses :)

N'hésitez pas à m'en demander plus si ce n'est pas clair..
 

Pièces jointes

  • Planning testvba2.xlsm
    34.2 KB · Affichages: 15
Solution
Re,
Si j'ai bien compris :
1- Si la cellule en date d'aujourd'hui est colorée, on cherche la dernière cellule colorée dans le futur.
2- Si la cellule en date d'aujourd'hui est blanche, on cherche la dernière cellule colorée dans le passé.
VB:
Function RetourPrévu(D)
RetourPrévu = ""
DerCol = Cells(2, Cells.Columns.Count).End(xlToLeft).Column
Ligne = D.Row
ColToDay = 0
For C = 7 To DerCol
    If Cells(2, C) = Date Then ColToDay = C
Next C
If ColToDay = 0 Then Exit Function
If Cells(Ligne, ColToDay).Interior.Color <> RGB(255, 255, 255) Then
    ' Cas où la cellule d'aujourd'hui est en couleur, on cherche la prochaine transition
    For C = ColToDay To DerCol
        If Cells(Ligne, C).Interior.Color <> RGB(255, 255, 255) And _...

Discussions similaires

Réponses
16
Affichages
263

Statistiques des forums

Discussions
312 104
Messages
2 085 346
Membres
102 868
dernier inscrit
JJV