Mise en Forme Conditionnelle avec VBA Excel - Couleur cell

Bonjour,

Je PATOGEEEEEE dans la semoule pour trouver une solution depuis maintenant plusieurs jours :'(

Pourriez vous m'aider svp..... et ainsi arrêter mon supplice

Encore merci..

Je souhaite :

que le solde de la créance client soit d'une certaine couleur en fonction de son paiement, dans le VBA d'excel car la façon "classique" beuge lorsque mon programme d'insertion d'une nouvelle ligne s'exécute (bouge toutes les règles de gestion entre elles, voire les copies)

ENCORE MERCI !

24test.xlsx (20.96 Ko)

Re-bonjour gregcompta,

Il faut :

  • que tu indiques quelles sont les mises en formes à réaliser,
  • que tu montres ton programme d'insertion d'une nouvelle ligne,

Le classeur joint a un extension xlsx, ce qui indique qu'il ne prend pas en charge les macros.

A+

Bonjour,

Oui, merci, voilà le fichier tel que je pense que tu "l'entends", avec :

  • macro d'insertion de ligne,
  • mfc de base (non fait avec macro, car je galère !! ^^ )

- format xlsm

Merci à toi, mon futur sauveur !!

26test.xlsm (27.49 Ko)

Bonjour,

Pourquoi, tu ne fais pas une macro avec des if then dans lequel tu mets tes formes conditionnelles souhaitées et qui va de la ligne I6 jusqu'à la dernière ligne complété?

Ca devrait régler ton problème.

Cordialement

PS : sinon une méthode beaucoup plus simple sans VBA, c'est de mettre la forme conditionnelle de façon manuel sur ta cellule I1 en enlevant les $ quand tu fais egal ou inférieure.

Ci joint ton fichier.

31test.xlsm (30.63 Ko)

Bonjour,

Ton fichier en retour

33test.xlsm (32.72 Ko)

Les lignes 1 et 2 ont été supprimées.

La ligne 4 est copiée et insérée à chaque demande de nouvelle saisie.

La plage d'applicabilité de la MFC est redéfinie.

A+

Bonjour hvegung et frangy,

hvegung : Merci pour ta réponse, Effectivement pour la MFC manuelle (si c'est bien ce que j'ai compris de ton com), je l'ai déjà fait mais justement lorsque la nouvelle ligne se créée, ça chamboule toutes les conditions, le vert passe dessous le rouge etc et le résultat attendu n'est pas obtenu.. Concernant les condition if et then etc, je ne suis que très petit novice, je maîtrise la formulation de ceci mais pas du tout du langage vba complémentaire.. Je me gave sur Texas Instrument lol, mais pas excel !!

frangy : Je te remercie aussi beaucoup pour ton retour.

Je n'ai pas encore vu vos fichiers, j'y vais de ce pas ! ENORME MERCI EN TOUT CAS

+++

frangy : Ton code est top !! Je n'ai pas encore la logique du process, et n'aurais jamais pu produire quelque chose comme ça d'ailleurs aussi... :/ et je te remercie profondément !!

Sur le fichier d'origine, j'ai bien plus de colonnes, pour ne pas encombrer le fichier mis en ligne je les ai donc enlevées. Mais j'imagine que ta macro fonctionne tout aussi bien avec d'autres colonnes rajoutés ensuite.. d'après ce que je viens de tester..

hvegung : je n'ai pas bien compris ce que tu as apporté au fichier .. ?

A+, et mille mercis !!

Bonjour,

La particularité de ce code, c'est de redéfinir la plage d'applicabilité de la MFC à chaque ajout de ligne.

Si tu regardes les MFC, tu verras que leur nombre ne varie pas, il reste égal à 4.

Par contre, la plage d'applicabilité est adaptée.

Le code peut se résumer comme cela :

  • copier la ligne 4
  • inserer les cellules copiées
  • effacer A4:F4 et K4:L4
  • supprimer toutes les MFC
  • redéfinir la plage d'applicabilité
  • appliquer les 4 MFC sur cette nouvelle plage

A+

Effectivement Frangy, d'ailleurs je suis dessus depuis toute l'après midi ^^

J'ai très peu modifié ton fichier, pour l'adapter au mien.. mais encore une fois, mes connaissances et compétences sont vraiment trop infimes pour réellement réussir à le faire.

Si tu regardes ce fichier-ci, toutes les colonnes sont là.

J'ai modifié ta ligne clearcontents du début de la macro, pour ne pas qu'elle supprime les cellules où sont notées mes formules.

J'ai aussi exclu la suppression du format des cellules : Cells.FormatConditions.Delete

=> j'ai mis cette ligne en commentaire..

Concrètement, ce qui doit être repris dans la création d'une nouvelle ligne est :

  • le format de la ligne
  • la couleur des cellules Q (orange), R (rouge) et BM (en rouge et gras)
  • les MFC suivantes :
I (solde créance en fonction du résultat) le but de ma première demande ici postée,

AC : si date factor 80% renseignée et n°factor vide, alors en rouge,

AD : si n°factor rempli et n°bordereau vide, alors rouge,

AH & AO : si date factor 80% non renseignée, alors grisée,

AQ (si date d'échéance modifiée renseignée (dans informations facture (colonne R)), alors en rouge ; sinon si date d'échéance prévue (colonne Q) renseignée, alors orange ; sinon rien),

BM (si BL="x" et BM="", alors en rouge)

BO (si solde créance = 0 et BL="x", alors en blanc sinon si solde créance = 0, alors en vert, sinon en rouge).

Voilou, je crois que tout y est... tu vois mon problème de débutant... lol

Tu crois pouvoir faire quelques choses pour moi......? :'( :'( :'(

N'est il pas possible d'utiliser des IF / THEN pour cela ??? Cependant ta méthode, bien que complexe, est au top (et probablement plus fiable aussi) !!

As tu un livre (bon livre) à me conseiller pour me perfectionner dans le vba ??

A+ frangy et mille mercis encore une fois !!

Bonjour,

Voici ton fichier en retour.

La même logique est respectée, à savoir la redéfinition de la plage d'applicabilité des MFC à chaque ajout de ligne.

A+

Je te dis MILLE MERCISSSS !!!

Je ne sais pas combien de temps cela à du te prendre ...??? Mais tu as fait un boulot formidable pour résoudre mon pb..

Je ne sais pas quoi te dire d'autres, sincèrement c'est fabuleux. Disons que je te vois maintenant comme mon dieu !

A+ frangy

Bonjour,

J'ai juste réaliser une mise en forme conditionnel sur la ligne que tu copiais à chaque fois (la ligne 1), donc quand tu copies cette ligne 1 en ligne 4 avec ta macro ça copie également la mise en forme conditionnel.

Ca permet d'éviter de passer par les macros quand on s'y connait pas trop.

Rechercher des sujets similaires à "mise forme conditionnelle vba couleur"