Se connecter / S'enregistrer
Votre question

VBA creation et coloration de matrice

Tags :
  • Microsoft Excel
  • Programmation
Dernière réponse : dans Programmation
5 Janvier 2008 12:54:04

bonjour a tous !!
je suis completement debutante en VBA sur Excel (je n'y connai presque rien).
je veux creer une matrice carre de dimension 20 (400 cases) et colorier les cases aleatoirement (50% blanches, 50% grises par exemple).
j'ai deja fait en pseudo langage, mais est ce que c'est possible de m'aider a le commencer en VBA (ou d'avoir des exemples de programmation en VBA, surtout pour le coloriage de façon aleatoire).

Merci.

Autres pages sur : vba creation coloration matrice

8 Janvier 2008 10:35:21

Salut, Emma13

L'instruction VBA qui permet de changer la couleur du fond d'une cellule est:
Cells(vnLigne, vnColonne).Interior.ColorIndex = 2

où vnLigne est le numéro de la ligne et vnColonne celui de la clonne de la cellule que tu veux modifier. 2 est le numéro d'index du blanc. Pour colorier en gris moyen, c'est le numéro 48. A adapter si tu utilises une palette personnalisée. Dans ce cas, aide-toi de l'enregistreur de macro en sélectionnant la couleur qui t'intéresse et regarde quel code est utilisé.
Pour faire une boucle, utilise ceci:
For vnLigne = 1 To 20

Idem pour la variable vnColonne.
Enfin, pour générer une valeur aléatoire, utilise la fonction Rnd, tu obtiendras une valeur à 8 décimales comprise entre 0 et 1. Si tu souhaites une proportion précise de chaque couleur, c'est un peu plus compliqué mais, comme tu dis l'avoir déjà fait en pseudo-langage, cela doit pouvoir facilement se traduire. Reviens ici si tu as besoin de précisions.

Bonne continuation
8 Janvier 2008 11:57:25

salut,

merci beaucoups pour ton aide, là enfin je peux avancer!

sinon, j'ai pas trop compris comment on utilise la fonction Rnd!!
Contenus similaires
Pas de réponse à votre question ? Demandez !
8 Janvier 2008 12:36:53

F1 ! ;) 
Tapes simplement une instruction du style:
x=Rnd
et ta variable x contiendra une valeur aléatoire.
8 Janvier 2008 13:57:09

merci, pour l'explication simple et efficace;

8 Janvier 2008 14:03:50

autre question!

et si on veux que par exemple X prenne une valeur aléatoire comprise entre 1 et 2, est ce qu'on utilise la même fonction Rnd?
8 Janvier 2008 14:10:15

Avec Rnd + 1, peut-être ?
8 Janvier 2008 22:40:04

ok, merci beaucoup
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS