(resolu)colorier ligne d'un tableau par macro

jacq56

XLDnaute Junior
Bonjour le forum,

Voici mon problème.

J’ai un tableau nommé « dépenses » et une liste de mots nommé « catégories »

J’aimerais que par une macro, dans la colonne A de mon tableau si le mot se trouve dans la liste « catégories » la ligne de mon tableau prenne la même mise en forme que le mot de ma liste, police et fond de cellule

Je prends un exemple pour être plus clair

Si en A 20 de mon tableau « dépenses » j’ai « Informatique : Matériel informatique « et que je retrouve la même chose dans ma liste « catégories » la ligne de « dépenses » A20 a K20 se colore en rouge et la police en blanc

J’arrive a le faire par MFC mais j’en ai 20, c’est lourd a géré

J’ai trouvé de 2 tableaux avec macro que j’ai essayé d’adapté mais j’ai des messages d’erreur dans la macro les lignes sont surligner en jaune ou si j’efface la cellule A 20 la couleur de la ligne reste et comme je ne connais rien en macro je suis coincé

Mon tableau « dépenses » n’est pas un tableau que je rempli mais un état qui vient d’un logiciel de comptabilité

En espérant de l’aide

Cordialement jacq 56
 

Pièces jointes

  • colrier ligne par maco.zip
    18 KB · Affichages: 110

Hieu

XLDnaute Impliqué
Salut Jacq,

Voilà une solution :
VB:
Sub qlskm()
For i = 13 To Range("a" & Rows.Count).End(xlUp).Row
If Range("a" & i) <> "" And Range("h" & i) = Range("a" & i) Then _
Range(Range("a" & i), Range("k" & i)).Interior.Color = 255      ' couleur de fond rouge
Next i
End Sub
 

Pièces jointes

  • colorier ligne par maco_v0.xlsm
    33 KB · Affichages: 66

jacq56

XLDnaute Junior
Bonjour, Hieu, double zero, le forum

Merci a tous les 2 pour vos réponses.

J’ai plutôt pris la solution de double zero

J’ai modifié un peu ton code pour mieux l’adapter à mon tableau j’ai réussi à faire ce que j’espérais mais avec plus de chance que de compréhension

For Each c In [h:h] j’ai remis [a:a] ca j’ai compris que c’et la colonne de recherche des mots

Mais dessous mon tableau « dépenses » j’ai 2 autres tableaux de A 204 a D234 et l’autre de G204 a I234 et je voulais les colorier de la même façon que le 1ere tableau.
j'ai essayé en copiant ta macro dans un autre module mais ce ne marchais pas

J’ai réussi en modifiant la lettre c en b partout où je la voyais dans ta macro comme par ex :Dim c As Range, cc As Range

Peux tu me dire stp a quoi correspond cette lettre ?

Si je colle plus bas que la ligne 234 un mot, la mfc fonctionne encore bien que je suis hors de mes tableaux

Cordialement jacq56
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

La lettre c ne correspond pas à la colonne c mais à une variable (lien utile...).

Le fichier déposé en #1 ne comporte aucune valeur de a204 à d234 et de g204 à i234... à moins que mes mirettes ne s:(ient défectueuses.

Merci de bien vouloir déposer un nouveau fichier et préciser si la position des cellules susvisées est immuable.

A bientôt :)
 

jacq56

XLDnaute Junior
Re bonjour Double Zero,
Je te rassure tu as de bon yeux:) je n’avais pas mis les 2 autres tableaux car je pensais qu’avec la solution du 1ere tableau j’arriverais a faire la même chose avec les autres mais loupé !

Je joins le fichier avec les 2 autre tableaux et les modif macro que j’ai essayé de faire

Les tableaux 2 et 3 sont lier a d’autres feuilles, j’ai allégé mon fichier car il est volumineux

Cordialement jacq56
 

Pièces jointes

  • 00 - jacq56 - MFC V2.zip
    28.6 KB · Affichages: 50

jacq56

XLDnaute Junior
Re-bonjour,

Non car se sont des tableaux de dépenses sur l’année donc au fils des mois les lignes augmentent

Le tableau2 tri les dépenses par ordre croissant du tableau « dépense » on voit le classement a partir de la colonne F 204

Cela me permet de contrôler si j’ai fais des erreurs de saisi par ex :

Si la couleur en A204 D204 est rouge et la couleur G204 I204 est bleu je vois tout de suite que la catégorie n’est pas la même

Le tableau3 fait la même chose mais a partir d’une autre feuille

C’est pour cela quand partant de ta solution j’ai essayé de faire un module pour chaque tableaux
j'ai peut-être trop épure mon fichier et maintenant cela est plus dur de comprendre ce que j'aimerais?

Cordialement jacq56
 

jacq56

XLDnaute Junior
Re bonjour

Non elles ne sont pas précédées d'une cellule contenant la valeur "classement de "

En faite plus bas dans ma feuille je fais une extraction sans doublon puis après un tri par ordre croissant avec formules par ex :SI(OU(A290="";C290="");"";RANG(GRANDE.VALEUR($C$290:$C$322;LIGNES($289:289));$C$290:$C$322;0))

Puis en A 204 j’écris=G290 comme cela je vois le classement et mes formules sont beaucoup plus bas

Oui c’est peut-être compliqué mais je ne suis pas un pro d’Excel

Pour la 2éme question c’est plus pratique d’avoir tout sur la même feuille car j’en ai déjà 4, mais si ce n’est pas possible je ne vois pas d’inconvénient

Cordialement jacq56
 

jacq56

XLDnaute Junior
Bonjour Double Zero, le forum,

Désolé de répondre si tard mais boulot oblige
J’ai essayé ton autre suggestion dans mon tableau d’origine quand je clic sur le bouton les tableaux 2 et 3 n’ont plus de mfc, sinon les mettre dans une autre feuille comme tu le suggérais
Mais peut-être que ce que j’espérais n’est pas réalisable
J’ai oublié de te remercier hier pour le lien sur les macros

Cordialement jacq56
 

jacq56

XLDnaute Junior
Re bonjour,

Je pense avoir compris pourquoi les tableaux 2 et 3 ne fonctionnent pas. Par ex dans le tableau 2 en A 204 j’ai bien affiché « Maison : Jardin » mais ce n’est pas du texte pur mais une formule qui est « =G290 »

C’est pour cela que tu as choisi la colonne H pour le tableau 1

Si tu ne trouve pas se n’est pas grave tu m’a déjà beaucoup aidé et consacrer pas mal de temps

Cordialement jacq56
 

Discussions similaires

Réponses
8
Affichages
224

Statistiques des forums

Discussions
312 158
Messages
2 085 825
Membres
102 993
dernier inscrit
VEF