Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Condition et écart d'une ligne colorée

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

G

gogote

Guest
Bonjour tout le monde,


je bloque sur un procédé que j'aimerai développer dans le cadre d'une étude personnelle.

Je souhaiterai avoir l'information suivante sur un tableau :
Lorsqu'une ligne est colorée en vert, combien de fois faut-il attendre avant qu'elle ne le soit à nouveau.

Exemple : j'ai une ligne verte. La ligne suivante est à nouveau verte : --> 0
la ligne est verte, les deux suivantes sont blanches puis la troisième est à nouveau verte --> 2

Et ainsi de suite, cf le fichier.
Si vous pouviez me débloquer de cette galère, alléluia !!!

Merci à vous.
 
Dernière modification par un modérateur:
Re : Condition et écart d'une ligne colorée

Bonjour,

un essai macro; l'indication est portée en colonne S

Code:
Sub ProchaineLigneVerte()
 Dim Derl As Long, i As Long, j As Long
 Derl = Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row
 For i = 1 To Derl
    If Cells(i, 1).Interior.ColorIndex = 50 Then
        For j = i + 1 To Derl
            k = k + 1
            If Cells(j, 1).Interior.ColorIndex = 50 Then
                Cells(i, 19) = k - 1
                i = j - 1
                Exit For
            End If
        Next
        k = 0
    End If
 Next
End Sub

A+
 
Re : Condition et écart d'une ligne colorée

Salut paf et merci beaucoup pour ta réponse !

Tu as bien cerné l'idée et la macro m'a l'air correcte dans cette logique !

Cependant, j'aimerai que celle-ci soit inversée, à savoir que la première ligne verte affiche 4, la seconde 2, la troisième 4 et ainsi de suite 😉
 
Re : Condition et écart d'une ligne colorée

Bonjour
une autre proposition ; renvoie -1 s'il n'y a pas de prochaine ligne verte
VB:
Option Explicit

Function prochaine_ligne_verte() As Integer
  Dim r As Range
  prochaine_ligne_verte = 0
  Dim nextRow As Range
  
  For Each r In Range("A" & Application.Caller.Row + 1 & ":A" & Cells(Rows.Count, "A").End(xlUp).Row)
    If r.Interior.Color = 7457838 Then
      Set nextRow = r
      Exit For
    End If
  Next r
  
  If nextRow Is Nothing Then
    prochaine_ligne_verte = -1
  Else
    prochaine_ligne_verte = nextRow.Row - Application.Caller.Row - 1
  End If
End Function
 
Re : Condition et écart d'une ligne colorée

re et bonjour Iznogood1

en fait cela revient à indiquer en ligne verte le nombre de lignes blanches précédentes, et non plus sic:"Lorsqu'une ligne est colorée en vert, combien de fois faut-il attendre avant qu'elle ne le soit à nouveau."

Code:
Sub ProchaineLigneVerte()
 Dim Derl As Long, i As Long, j As Long
 Derl = Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row
 For i = 2 To Derl
    k = k + 1
    If Cells(i, 1).Interior.ColorIndex = 50 Then
        Cells(i, 19) = k - 1
        k = 0
    End If
 Next
End Sub

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…