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

macro valeur de cellule dépend de la couleur des cellules de la ligne...

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

adrian

XLDnaute Nouveau
Bonjour à tous, l'intitulé de ce post peut paraître bizarre et obscur, je vous explique donc ce que je souhaite faire :

Je souhaite effectuer un compteur d'actions (soldées ou en retard) en fonction de la couleur des cellules de la ligne correspondant à l'action.

Pour celà, en colonne I un "X" doit apparaître si l'action est soldée
et en colonne J un "O" doit apparaître si l'action est en retard.

Pour savoir si l'action est soldée ou en retard, un code couleur est utilisé, respectivement fond de cellule jaune ou rouge.

L'objectif est donc que les colonnes I et J se remplissent automatiquement en fonction de la couleur des cellules de la ligne.

Ainsi si l'action1 en A8 est soldée au mois 2 (cellule C8=jaune), alors la cellule I8=X

En espérant avoir été assez clair je vous souhaite bien du courage et du plaisir pour m'aider à résoudre ce problème!!

Ci-joint un tableur exemple

Merci d'avance, je serais de retour lundi en espérant que mon problème vous aura inspiré 😉
 

Pièces jointes

Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Bonjour Adrian,

Tout dépend ce que tu veux obtenir au final,
mais avec une fonction personnalisée, nul besoin d'ajouter des X ou O

Voir fichier joint

Nota : pour que le calcul se fasse correctement, il faut modifier le contenu d'une cellule et valider

A+
 

Pièces jointes

Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Bonjour à tous, comme prévenu on est lundi je viens ramasser les copies ^^

Merci Bruno pour ta réponse.
Par contre cette fonction compte toutes les cellules colorées. Or ce que je souhaitai c'est une fonction qui permette de compter uniquement la dernière cellule colorée de chaque ligne pour savoir si l'action de la ligne est soldée ou en retard.

C'est pour ça que j'avais mis en place les colonnes "soldée" et "retard" qui permettent d'associer à chaque ligne "X" ou "O" selon la dernière case colorée de la ligne.

En bref si l'action 5 ("A12") est en retard aux mois 4 et 5 ("E12" et "F12" => rouge), elle est finalement soldée au mois 6 ("G12"=>jaune) par conséquent l'action doit être comptée comme soldée et non comme en retard.

En espérant avoir été explicite sur ce que je voulais faire je vous souhaite bien du courage et j'espère que les idées soient nombreuses pour résoudre ce problème assez urgent.

Merci d'avance à tous.
 
Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Bonjour à tous,

Désolé de relancer ce post, mais j'ai un besoin assez urgent du code me permettant de réaliser ce compteur d'actions soldées et en retard. Dans l'idéal, il me le faudrait avant jeudi midi...

Si une âme charitable peut se pencher sur mon problème ça me rendrait un grand service.

Merci d'avance à tout ceux qui liront se post et partageront leurs idées 😉
 
Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Salut Adrian,

ATTENTION !
Ici rien n'est urgent 😱

J'ai modifié mon premier code, mais j'ai oublié le fichier à la maison ...
Je le mets ce soir sur le forum 🙄

C fait

A+
 

Pièces jointes

Dernière modification par un modérateur:
Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Bonjour Bruno, bonjour le forum

Tout d'abord c'est vrai rien n'est urgent^^ Désolé j'étais un peu sous pression hier...

En tout cas ta fonction marche impec'. Donc problème résolu et tu me retires une bien belle épine du pied 😉

Encore merci à toi d'avoir pris du temps pour m'aider et m'apprendre encore quelque chose sur VBA.

Bonne journée à ceux qui liront ce post, et à bientôt avec de nouvelles questions^^
 
Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Re bonjour Bruno et le forum,

Comme je l'ai dit précédemment le code fonctionne.
Par contre le résultat ne se met pas à jour dès que l'on modifie la couleur d'une cellule. Il faut en effet écrire dans une autre cellule pour que la modification soit prise en compte.

Est-ce qu'il y'aurait un moyen de mettre à jour les champs dès que la couleur d'une cellule est modifiée?

Merci d'avance.
 
Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

hello,

Encore une remarque, si on agrandi la zone de sélection et que des cellules sont vierges sur les lignes suivant la dernière cellule colorée, elles vont tout de même être comptées comme colorée en jaune ou en rouge, pourquoi???

Je joins le fichier modifié pour illustrer ce problème. Si quelqu'un peut trouver la faille dans la fonction "compteaction" ça m'arrangerait bien. Je continue à chercher de mon côté mais compte tenu de mon niveau en langage VBA ça risque de ne pas être très efficace.

Bon courage à vous.

PS :Help bruno stp, j'ai grandement besoin de tes compétences sur cette fonction 😉
 

Pièces jointes

Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Salut Adrian,

Oups pas testé la zone agrandie, comme quoi ... 😱

Il faut ajouter une condition et une mise à zéro du flag
Code:
Function CompteAction(Rng As Range, Zone As Range)
  Dim Col As Long, Lig As Long
  Dim PLig As Long, DLig As Long  ' Variables première et dernière ligne
  Dim PCol As Long, DCol As Long  ' Variables première et dernière colonne
  Dim IndCoul, FlgOk As Boolean
  Application.Volatile
  ' Initialisation des variables
  With Sheets("Feuil1")
    PLig = Zone.Row
    PCol = Zone.Column
    DLig = PLig + Zone.Rows.Count - 1
    DCol = PCol + Zone.Columns.Count - 1
  End With
  IndCoul = Rng.Interior.ColorIndex
  CompteAction = 0
  ' Boucle sur cellules
  For Lig = PLig To DLig
    For Col = PCol To DCol
      If Cells(Lig, Col).Interior.ColorIndex <> xlNone Then
        If Cells(Lig, Col).Interior.ColorIndex = IndCoul Then
          FlgOk = True
        Else
          FlgOk = False
        End If
      End If
    Next Col
    [B][COLOR=blue]If FlgOk = True Then[/COLOR][/B]
[B][COLOR=blue]     CompteAction = CompteAction + 1[/COLOR][/B]
[B][COLOR=blue]     FlgOk = False[/COLOR][/B]
[B][COLOR=blue]   End If[/COLOR][/B]
  Next Lig
End Function

Ensuite pour le recalcul, dans ThisWorkbook, tu peux ajouter
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  Application.Calculate
End Sub

Voilà 😉

A+
 
Dernière modification par un modérateur:
Re : macro valeur de cellule dépend de la couleur des cellules de la ligne...

Merci bruno, je teste ça de suite.

J'avais bien tenté des trucs entre fin de colonne et fin de ligne mais ça marchait pas 🙁

Encore merci, grâce à ton aide la dernière étape de mon outil est sur le point d'être finie!!

Bonne soirée à tous et à bientôt.
 
- 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
125
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…