Mise en forme conditionnelle vba

cs_lemlaurie Messages postés 3 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 11 janvier 2007 - 10 janv. 2007 à 15:14
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

5 réponses

cs_lemlaurie Messages postés 3 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 11 janvier 2007
10 janv. 2007 à 16:01
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
0
cs_caramelmou Messages postés 56 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 23 avril 2008 3
10 janv. 2007 à 19:05
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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 janv. 2007 à 23:34
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
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
11 janv. 2007 à 09:23
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
0
Rejoignez-nous