Rechercher : dans
Par :

Visual Basic, petite macro Excel

Dernière réponse le 16 oct 2009 à 16:57:44 mkos, le 16 oct 2009 à 10:27:46 
 Signaler ce message aux modérateurs

Bonjour,

Je travaille avec Excel 2003, je voudrais creer une macro mais ils me manquent quelques commandes...

L'idee:
Il y a un nombre entre 1 et 100 contenu dans une cellule.
A cote, sur la meme ligne, il y a 10 cellules.

Si le nombre rentre dans la premiere cellule est 10.
On colorie la premiere cellule des 10 en verts et les 9 autres en rouge.

Si c'est 20, on colorie les 2 premieres en verte et les 8 autres en rouge...

etc.

Par la suite, j'essaierais de trouver une combine pour "arrondir":
si la cellule contient 33, on laisse 33 dans la cellule mais on ne colorie que les 3 premieres cases en vertes et les 7 autres en rouge.

Voila, si quelqu'un peut me donner quelques pistes !
Merci d'avance!!

Jeremy

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « Visual Basic, petite macro Excel » dans :
Erreur système : Microsoft Visual Basic VoirEn ouvrant Excel, vous rencontrez un message d'erreur. Une fenêtre au nom de "Microsoft Visual Basic" s'ouvre avec le contenu suivant : Erreur système &H80004005 (-2147467259). Erreur non spécifiée Pour corriger le problème, suivez les...
Télécharger Visual Basic 6 Runtime (VB6 DLL) VoirLe Runtime Visual Basic 6 contient l'ensemble des librairies (DLL) nécessaires pour exécuter des programmes écrits en langage Visual Basic 6.0. Il contient notamment les DLL suivantes :...
Introduction à Visual Basic VoirPrésentation de Visual Basic Visual Basic est un outil développé par Microsoft pour développer facilement des applications fonctionnant sous Microsoft Windows ©. Visual Basic est, comme son nom l'indique, un outil visuel permettant de créer...
Exécuter une macro VoirExécuter une macro Excel et Calc proposent plusieurs façons d’exécuter une macro : en la sélectionnant dans une liste, dans la boîte de dialogue Macro ; par un raccourci clavier ; en l’attachant à un bouton de la barre d’outils ; ...

1

michel_m, le 16 oct 2009 à 11:20:50

Bonjour,
une macro ?
regarde cette maquette sans macro, peut-^tre que...
http://cjoint.com/?kqltcYJ7pV Cordialement, Michel

Répondre à michel_m

2

mkos, le 16 oct 2009 à 11:26:17

Oui j'ai vu la mise en forme conditionnelle mais ca ne va pas, on ne peut donner que 3 choix:

Si compris entre X0 et Y0 ...
Si compris entre X1 et Y1 ...
Si compris entre X2 et Y2 ...

Moi il me faut beaucoup plus de si...
Mais merci! :)

Répondre à mkos

3

mkos, le 16 oct 2009 à 11:31:54

Ah mais nan ! je re essaye ! j'avais pas vu que ton fichier marchait !! :)
J'utilise excel 2003, je vais voir si ca marche aussi !

Répondre à mkos

4

michel_m, le 16 oct 2009 à 11:34:53

Bonjour,
une macro ?
regarde cette maquette sans macro, peut-^tre que...
http://cjoint.com/?kqltcYJ7pV Cordialement, Michel

Répondre à michel_m

5

mkos, le 16 oct 2009 à 11:59:09

Merci Michel,
mais est ce que tu peux m'expliquer ta formule?
Car je n'arrive pas a reproduire ton fichier excel en adaptant a mon cas..

Répondre à mkos

6

michel_m, le 16 oct 2009 à 12:21:30
  • +1

=ENT($B2/10)>=COLONNE()-2

ENT($B2/10) te donne la dizaine du nombre en B2 par ex 17 en B2 renvoie 1; 33 renvoie 3

COlonne() te donne le numero de la colonne de la cellule par ex colonne C=3

la cellule C2 dans mon exemple devant se mettre en vert si la dizaine est >=1 j'écris donc colonne()-2 pour retrouver 1
et en tirant vers la droite on aura 2 en D, 3 en E, 4 en F....


si le nombre à évaluer est en A1, en B1 j'aurais écris
=ENT($A1/10)>=COLONNE()-1

si C1 en D1
=ENT($C1/10)>=COLONNE()-3



Cordialement, Michel

Répondre à michel_m

7

mkos, le 16 oct 2009 à 16:16:32

C'est bon ca marche pour mes 2 premieres conditions.
Juste encore un petit truc!
Si la valeur n'est pas entre 0 et 100, ou alors n'est pas un nombre, je voudrais mettre un fond gris par exemple.
J'ai essaye de mettre une 3eme condition mais ca ne marche pas
(ma cond 1 n'est plus la meme, car j'ai change mon nombre de colonnes a 20)

[B]cond 1) /B
=INT($Z31/5)>=COLUMN()-5 = FOND VERT

[B]cond 2) /B

Cell value is between 0 et 100 = FOND ROUGE

[B]cond 3) /B

Cell value is NOT between 0 et 100 = FOND GRIS

Mais ma troisieme condition ne marche pas...
quelqu'un saurait m'aider a mettre ce fond gris?

Répondre à mkos

8

 michel_m, le 16 oct 2009 à 16:57:44

....
:-((  Michel

Répondre à michel_m