Excel macro, grille de nombre, changer couleur fond selon choix

Excel macro, grille de nombre, changer couleur fond selon choix - VB/VBA/VBS - Programmation

Marsh Posté le 24-01-2012 à 12:56:44    

Salut !
 
Je sollicite votre aide pour un petit truc que j'aimerai accomplir sous excel.
J'ai une grille de nombre de 1 à 90 et un bouton "nombre".
Ce que j'aimerai réaliser est la chose suivante :
 
Lorsque je clique sur "nombre", je rentre le nombre désiré (de 1 à 90 donc) après validation, la case se met en rouge.
Je sélectionne à nouveau le bouton, je rentre un autre nombre, la case ce nouveau nombre devient rouge et l'ancien d'une autre couleur, par exemple bleu.
Et ainsi de suite. Les nombres sortis restent bleu.
Par contre si je rentre à un moment une deuxième fois le même nombre ce dernier devient également rouge jusqu'à redevenir bleu après avoir rentré un autre nombre.
 
Voilà j'espère avoir été clair... Je n'y connais rien du tout en macro...
 
En vous remerciant :)

Reply

Marsh Posté le 24-01-2012 à 12:56:44   

Reply

Marsh Posté le 26-01-2012 à 23:25:30    

bonjour,
 
le mieux plus simple serait que ta grille soit en colonne
 
regarde ces fonctions dans l'aide de vba alt+F11 puis aide ou avec google
 
nombre=input("entrer le nombre" )
if cells(nombre,1).Interior.Color = 65535  then
...
end if
 
for i=1 to 90 step 1
...
next i
 
select case cells(i,1).interior.color
case rouge
case bleu
end select
 
j'imagine une boucle avec laquelle tu testes la couleur de chaque cellule
i étant le numéro de ligne s'incrémentant de 1
en fonction de la couleur (select case)
tu change la couleur de la cellule
 
essai un peu


Message édité par 86vomito33 le 26-01-2012 à 23:26:38
Reply

Marsh Posté le 27-01-2012 à 16:00:12    

est ce que cela fait ce que tu veux
 http://cjoint.com/?BABp5uZG1SM
 
ci dessous le code, ca peut intéresser quelqu'un

Code :
  1. Sub test()
  2. nb = InputBox(("Veuillez entrer un nombre en 1 et 90!" ))
  3. nb = Val(nb)
  4. ligne = Int(nb / 10) + 1
  5. colonne = Val(Right(nb, 1))
  6. For ilig = 1 To 9 Step 1
  7. For icol = 1 To 10 Step 1
  8. couleur = Cells(ilig, icol).Interior.Color
  9. Select Case couleur
  10. Case 16777215 'blanc
  11. If ilig = ligne And icol = colonne Then
  12. Cells(ilig, icol).Interior.Color = 255
  13. End If
  14. Case 255 'rouge
  15. Cells(ilig, icol).Interior.Color = 12611584
  16. Case 12611584 'bleu
  17. 'l'instant rien
  18. End Select
  19. Next icol
  20. Next ilig
  21. End Sub


Message édité par 86vomito33 le 27-01-2012 à 16:00:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed