Mise en forme conditionnelle vba

Messages postés
3
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
11 janvier 2007
- - Dernière réponse : cs_lemlaurie
Messages postés
3
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
11 janvier 2007
- 11 janv. 2007 à 11:03
Bonjour,

Je me permet de m'adressez à vous car j'ai je rencontre quelques difficulté avec vba.

contexte:

j'ai une base de donnée avec des produits
pour chaque produit j'ai trois fournisseur (mais en tout plus de quarante puisque je peux avoir auchan, boulanger carrefour pour les stylos verts et penny, lidl, lerouymerlin pour les stylos rouge)

mission:

je dois trier les fournisseurs : en premier le moins cher puis le deuxieme moins chers puis le plus cher ça c'est ok : certainement qu'il y a moins moche et moins longt mais bon ça marche

je dois attribuer une couleur à chaque fournisseur la c'est la cata ya pas moyen j'y arrive pas
> il me prend que trois mise en forme conditionnelle donc pas assez.
et de toute façon avec les MC ils me faudrait retaper le nom de chaque fournisseur ce que j'ai pas du tout envie de faire et je suis sur qu'il y a moyen autrement.

Alors j'ai tenter les tableaux mais comment prendre les nom sur les trois colonnes? (qui ne sont pas l'une a coté de l'autre puisqu'il y a les prix etc...) (j'y suis arrivée pour une colonne et sans doublons s'il vous plait )
et comment lui dire d'atribuer une couleur à chaque nom et de renvoyer cette couleur dans la "bdd"

Merci d'avance à vous tous tout le monde qui voudrez bien m'aider
Afficher la suite 

5 réponses

Messages postés
3
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
11 janvier 2007
0
Merci
Arg l'horreur

je vien de tester la macro dont j'était si contente ( pour trier les fournisseurs du moins chers au plus cher) sur une copie de la vrai bases de données etça fait 10 min que ca tourne ( en même je fais un traitement ligne par ligne et il y à environ 11mille ligne...)

d'ailleur j'y pense, je n'ai pas mis de lien vers mon classeur pour ne pas encombrer le forum mais si qqn est partant pour m'aider je peux lui envoyer le fichier ( la fausse bdd avec 12 ligne au lieu de 11mille)

suffit de demander

merci d'avance pour votre aide
Commenter la réponse de cs_lemlaurie
Messages postés
56
Date d'inscription
jeudi 25 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2008
1
0
Merci
Tu parles de classeur ( ? Excel ) et de base de données... de renvoyer une couleur dans la "bdd"
Pourrais tu être plus explicite sur les formats de documents utilisés ?

Dr.T
Commenter la réponse de cs_caramelmou
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
Pour le tri, tu ne peux pas utiliser la fonction de tri d'Excel ?
Elle te donne la possibilité de 3 champs comme critère (Fournisseur, produit, prix)

Si tu as besoin de plus de champs pour le tri, tu pourrais concaténer certains de ces champs dans une colonne supplémentaire. Tu inclus alors cette colonne dans le tri au degré d'importance nécessaire.

Pour la couleur, je pense que le mieux est de passer par un macro que tu peux activer dans Worksheet_Change de ta feuille

Private Sub Worksheet_Change(ByVal Target As Range)
' Si on écrit ailleurs que dans la 1ere colonne, la macro ne se fait pas
    If Target.Column <> 1 Then Exit Sub
   
' LCase pour forcer la comparaison de minuscules
' Il faut donc que tu entres le noms entre guillemets en minuscules
    Select Case LCase(Target.Text) 
        Case "auchan"
            Target.Interior.ColorIndex = 3
        Case "boulanger"
            Target.Interior.ColorIndex = 4
        '...............
    End Select
End Sub

Donc, si tu écris Auchan ou AuChAn dans une cellule de la colonne A, la couleur de cette cellule changera pour Rouge (ColorIndex 3)

MPi
Commenter la réponse de cs_MPi
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
0
Merci
Puisqu'on parle de base de données sous Excel, il y a sans doute moyen de faire quelque chose à partir des filtres élaborés aussi.

Mais que ce soit les tris ou autre chose, on manque quand même d'éléments sur ce que tu essayes de faire exactement.

Molenn
Commenter la réponse de Molenn
Messages postés
3
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
11 janvier 2007
0
Merci
je travaille sur excel XP
ma bdd est sur une feuille excel
et il faut que tout soit automatiser
n'hesiter pas me demander le classeur
je vous l'enverrai ainsi que les macro que j'ai déjà crée



je dois trier les fournisseur du moins cher au plus cher sans changer de feuille et sans les séparer de leur information respective (ne pas separer la plage q-z par exemple)


 


en sachant que pour l'instant ya trois "zone" de fournisseur mais qu'il y en aurra surment 5 d'ici peu donc le code ne doit pas être en dur ( ce que je ne sais pas faire)


 


en sachant aussi que parfois on a un fournisseur obligatoire par exemple carrefour a qui on doit forcement faire apelle même si c'est pas le moins cher. par conséquent carrefour devrait toujours être en premiere place.


 


et pour un effet visuel il faut que chaque cellule avec un  nom d'un fournisseur ai sa propre couleure (dans BDD_general)


 


voila j'ai un peu avancé


 


 


je continue évidement à essayer d'avancer et je vous remercie
Commenter la réponse de cs_lemlaurie