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

XL 2016 Mettre la même couleur de la dernière cellule colorée

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

piga25

XLDnaute Barbatruc
Bonjour,
Je n'arrive pas a avoir automatiquement la couleur de la dernière cellule colorée de la même ligne en colonne D.
Exemple du résultat attendu en ligne 12 sur le fichier
En vous remerciant.

VB:
Sub Essai()
  Dim dcl%, col%, dlg&, lig&
  dcl = Cells(11, Columns.Count).End(1).Column: Application.ScreenUpdating = 0
  'dlg = Cells(Rows.Count, 1).End(3).Row
  For lig = 13 To 38 'dlg
    For col = dcl To 26 Step -1
      If Cells(lig, col).Interior.Color = 8454016 Or 45850 Or 8441087 Then
        Cells(lig, 4).Interior.Color = Cells(lig, col).Interior.Color: Exit For
      End If
    Next col
  Next lig
End Sub
 

Pièces jointes

RE
J'ai avancé un peu, par contre cela ne me prend pas la couleur sur la dernière cellule de la ligne mais sur la première. Comment faire pour avoir la dernière de la colonne.
VB:
Sub Essai()
Dim ligne&, lastcol%, i%
lastcol = Cells(11, Columns.Count).End(xlToLeft).Column
For ligne = 13 To 28
    For i = lastcol To 1 Step -1
        If Cells(ligne, i).Interior.Color <> RGB(255, 255, 255) Then
        Cells(ligne, 4).Interior.ColorIndex = Cells(ligne, i).Interior.ColorIndex
    End If
        Next i
        Next ligne
End Sub
 
Bonsoir,
Mais vous l'avez, quand vous passez dessus. Mais comme vous ne faite alors plus Exit For, vous avez ensuite la précédente etc. jusqu'à la 1, qui est la dernière retenue au bout du compte !
Bien vu, voici le code qui fonctionne.
VB:
Public Sub Essai()
Dim ligne&, dcl%, i%
dcl = Cells(11, Columns.Count).End(1).Column: Application.ScreenUpdating = 0
For ligne = 13 To 28

   For i = dcl To 1 Step -1
        If Cells(ligne, i).Interior.color <> RGB(255, 255, 255) Then
        Cells(ligne, 4).Interior.ColorIndex = Cells(ligne, i).Interior.ColorIndex: Exit For
    End If
        Next i
        Next ligne
End Sub
Tu n'as pas posté le bon fichier : la ligne 12 est vide, la ligne 11 aussi est vide donc dcl vaut 1, et il n'y a aucune macro nommée "Essai".
Effectivement, je me trompé de fichier, le bon est ci-dessous et cela fonctionne.

Merci à vous et au plaisir de vous lire.

Il me reste à l'adapter dans le bon fichier. J'ai quatre colonnes qui doivent recevoir le résultat et chacune à la possibilité de 3 à 4 couleurs.
 

Pièces jointes

- 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
4
Affichages
332
Réponses
16
Affichages
947
Réponses
35
Affichages
2 K
Réponses
2
Affichages
285
Réponses
3
Affichages
569
Réponses
15
Affichages
662
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…