comment colorer des cellules toutes les secondes

  • Initiateur de la discussion Caninge
  • Date de début
C

Caninge

Guest
Bonjour au forumiens

est-il possible de colorer les cellules les unes après les autre toutes secondes en ayant activer une macro au départ .

Dans mon exemple la cellule d6 se colore ensuite la cellule e6 etc...


Merci [file name=Couleur.zip size=1915]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Couleur.zip[/file]
 

Pièces jointes

  • Couleur.zip
    8.2 KB · Affichages: 16
  • Couleur.zip
    8.2 KB · Affichages: 17
  • Couleur.zip
    8.2 KB · Affichages: 13

Rai

XLDnaute Junior
Re:comment colorer des cellules toutes les seconde

Bonjour,

Ci-dessous un exemple à adapter à ton cas.

Sub everysecond()
Start = Timer ' mémorise le temps de départ
Do 'boucle indéfiniement
Do While Timer < Start + C 'attend qu'une seconde soit écoulé
DoEvents 'laisse les autres évennements se faire (appui touche)
Loop
C = C + 1 'incrémente
Cells(6, 5 + C).Interior.ColorIndex = 12 'colorie cellule ligne 6 à partir de la colonne D
Loop
End Sub

La macro s'arrête avec un appui sur CTRL+Pause.

Bonne continuation
 
C

Caninge

Guest
Re:comment colorer des cellules toutes les seconde

Bonjour Rai

merci pour ta réponse

C'est à peu près ce que je demande.

Maintenant pourrais-t 'on remplir uniquement les cellules du tableau de D6 à G21 et en changeant de couleur à chaque ligne.
Egalement avant de lancer la macro pouvoir paramétrer le temps entre chaque coloriage :

1 seconde
1.5 seconde
2 seconde etc...

en te remerciant.
 

Rai

XLDnaute Junior
Re:comment colorer des cellules toutes les seconde

Salut,

YAKA demander !!!

:)

Ci-dessous, une proposition de solution.

Sub everysecond()
Lig = 6
Col = 4
NBCol = 4
MaxLig = 16

Inc = Val(InputBox('Indiquez le délai en secondes' & vbLf & 'au format #.##', 'Délai'))
Start = Timer

For I = 0 To MaxLig * NBCol - 1
Do While Timer < Start + C
DoEvents
Loop
C = C + Inc
Cells(Lig + Int(I / (NBCol)), Col + (I Mod NBCol)).Interior.ColorIndex = Int(I / NBCol) + 3
Next I
End Sub


Ca roule comme ça ?
 
C

Caninge

Guest
Re:comment colorer des cellules toutes les seconde

Rebonjour Rai

Je te remercie beaucoup

C'est exactement ce que je voulais.

Si seulement je savais faire ça moi.

A bientôt

Caninge
 

Rai

XLDnaute Junior
Re:comment colorer des cellules toutes les seconde

En fait, ya plus de maths (et de logique) dans cette macro que de connaissances en VBA.

Lig + Int(I / (NBCol)) : ajoute 1 à la ligne toutes les 4 colonnes

INT(I / 4) ==> 0 tant que I<4
==> 1 si I compris entre 4 et 7
...

I Mod NBCol est un grand classique.
il renvoie le reste de la division (7 / 4 a pour modulo 3)


-----

Tu noteras au passage que la macro est adaptable.
Il te suffit de changer les valeurs des variables de départ.
c'est pratique, mais parfois ça complique les formules.

Bonne fin de samedi à toi.
 

Discussions similaires

Statistiques des forums

Discussions
312 148
Messages
2 085 770
Membres
102 969
dernier inscrit
pizza