Tutoriel Excel * leçon 2 - jouer avec les cellules
Maintenant, cliquer une fois à l'endroit où est inscrit C5 afin de sélectionner le libellé C5 et remplacer ce dernier par ce nom bien ordinnaire maVariable:
(attention! une fois saisi, frappez la clé Entrée)
Vous devriez avoir comme résultat ceci:
(si c'est le cas, bravo! vous venez d'apprendre à baptiser une cellule ou à lui donner un nom quelconque)
Maintenant, faites cet exercice...
Donner des noms différents à deux cellules quelconques. Saisir des valeurs dans chacune. Dison, 1 et 2.
Ensuite, sélectionnez par un seul clic une cellule autre des deux nommées et entrer cette formule:
=nomCellule1 + nomCellule2
Vous devriez voir le résultat de l'opération et obtenir le compte 3.
Voici un petit projet qui vous servira par la suite.
Objectif:
Apprendre à insérer une fontion de calcul dans une suite de cellules afin de générer des nombres aléatoires à la demande.
Comment procéder...
Utiliser le menu Insertion pour affecter une fonction à une cellule:
Dialogue insertion d'une fonction:
Complèter la tâche I:
Complèter la tâche II:
Complèter la tâche III:
Résultat final:
N.B. lorsque vous éditez une fonction dans une cellule quelconque assurez vous de toujours terminer votre modification en appuyant sur la clé "Entrée" pour que celle ci prenne effet.
Voici un fichier que je vais vous demander de télécharger:
http://www.speedyshare.com/414914420.html
Voici à quoi ressemble ce classeur:
Donc, on peut sans même créer une ligne de code construire un outil de travail qui nous servira à tester toutes sortes d'idées.
La colonne A, contient des numéros aléatoires qui sont générés à chaque fois que l'on presse la touche F9. Les colonnes B, C, D quand à elles, ont comme contenu une fonction qui recherche dans la tableau des chances simples le bon symbole à utiliser.
Voici la fonction pour la cellule B1: =RECHERCHEV(A1;chancesSimples;2;FAUX)
J'ai donc nommé une plage de valeurs "chancesSimples" comprenant les cellules F2 à I38. Donc, selon le numéro aléatoire sorti, je recherche dans ce tableau le bon symbole à utiliser.
Pour ce qui est de mettre en couleur les cellules comme je l'ai fait. C'est très simple. Pas besoin de création de macros jusqu'ici. Il faut simplement sélectionner une plage de cellule (ici j'ai sélectionné la cellule B1 qui représente les rouges/noirs) et j'ai spécifié ces choix dans ce dialogue :
Menu: Format > Mise en forme conditionnelle...
On ne peut entrer que 3 conditions maximum dans ce dialogue. Heureusement, c'est tout ce qu'on a besoin pour la roulette et les chances simples.
mamas a écrit
Super !! merci
Dans ta formule comment tu fait pour que 2 corresponde à R/N, 3 à H/B, 4 à P/I ?
Mamas.
J'entre simplement cette fonction:
=RECHERCHEV(A1;chancesSimples;2;FAUX)
Le chiffre 2 indique de retourner le symbole de la colonne 2 du tableau des chances simples selon le numéro de spin sorti. Donc, 3 pour les H/B et 4 pour les P/I.
On ne peut entrer que 3 conditions maximum dans ce dialogue. Heureusement, c'est tout ce qu'on a besoin pour la roulette et les chances simples.
Donc tu me confirme, pas possible d'avoir plus de trois conditions ?
Mamas.
Pas si on les codes mais oui avec cette option, on est limité à trois. C'est déjà pas mal considérant qu'on a rien à faire d'autre que d'éditer un p'tit dialogue. Si tu veux je peux t'aider à confectionner quelque chose de plus costaud. Mais là je suis trop occupé avec la session Américaine qui ne veut pas s'essouffler. C'est une tabarnacle de bonne journée sur les marchés.
Le script en soi est assez simple :
Disons pour changer quelques propriétés d'une cellule qui appartient à une sélection il faut jouer cette macro.
L'idéal serait de me dire ce que tu désires faire. J'imagine que le contenu de la cellule devrait déterminer la couleur de fond, la couleur d'avant plan et si le texte est en gras ou pas etc. Est-ce bien cela ?
Sub changerQuelquesProp() Dim cellule As Range For Each cellule In Selection cellule.Font.ColorIndex = 3 '< fond avant-plan rouge cellule.Interior.ColorIndex = 11 '< fond arrière plan bleu cellule.Interior.Pattern = xlSolid '< fond arrière plan solide cellule.Font.Bold = True '< la police est en caractère gras Next cellule End Sub
- un numéro sort pour la première fois : 1ere couleur
- un numéro sort pour la 2eme fois : 2eme couleur
- un numéro sort pour la troisième fois : 3eme couleur
- Etc...
Là, je vois mieux où tu veux aller. C'est simple si on se pose les bonnes questions.
Quand vient le temps de codifier une idée, j'essai de découper le problème à résoudre dans les plus petits détails possibles.
De façon désordonnée, je me pose des questions pour y arriver. Dans une 2ième étape je met de l'ordre dans mon casse-tête.
Donc, tu veux associer une couleur à la répétition des numéros selon leur niveau de chaleur si je puis dire.
Pour y arriver, il faut définir cette échelle soit dans le code ou quelque part dans une des feuilles disponibles. Personnellement, j'aime bien utiliser les feuilles ou onglets afin d'en réserver une comme feuille de paramètres. J'aime exposer à l'utilisateur un maximum de propriétés afin de rendre le programme le plus souple possible.
Les questions à se poser sont les suivantes selon ce que je connais du problème à résoudre jusqu'à maintenant:
1) quelles sont les propriétés d'une cellule que je veux contrôler ?
Possiblement, la couleur d'arrière plan, celle d'avant plan ainsi que son caractère, qu'il soit gras ou normal.
2) les propiétés devront dépendre de certains critères ? mais quels sont ces critères ?
a) le nombre de fois qu'un numéros (0..36) a répèté
b) la grandeur de l'historique que je dois considérer au maximum ? depuis le début, 10 spins, 20 spins etc.
c) combien de spins devrais-je considérer par session ?
etc.
Donc, tu te dois de répondre à ces questions. C'est exigant, je le sais mais il n'y a pas d'alternative.
Par contre, on peut toujours couper au plus cours et se dire. Bon! dans un premier temps, j'ai besoin de colorier des cellules selon que le nombre qu'ils contiennent ai répèté 2x, 3x, 4x, 5x, 6x, 7x, et au-delà depuis le début de la colonne y qui contient les numéros à analyser..
Voici ce que j'ai fait:
On peut modifier la légende degré de chaleur au choix et appuyer sur Crtl+g afin de générer des séquences et tout colorier automatiquement:
Voici ci donc le lien vers cette nouvelle mouture:
http://www.speedyshare.com/659543325.html
Le script est fort simple :
Sub genererNouvelleSequence() Dim nbDeCellule As Long, noRange As Long, niveauDegreChaleur As Long Dim celluleModele As Range, cellule As Range Range("E:E").ClearFormats Worksheets(1).Calculate nbDeCellule = Application.WorksheetFunction.CountA(Range("A:A")) For noRange = 2 To nbDeCellule Set cellule = Range("E" & noRange) If cellule.Value >= 8 Then cellule.Font.ColorIndex = Range("degreChaleur").Cells(7).Font.ColorIndex '< coul. avant-plan cellule.Interior.ColorIndex = Range("degreChaleur").Cells(7).Interior.ColorIndex '< coul. arrière plan cellule.Interior.Pattern = xlSolid '< fond arrière plan solide cellule.Font.Bold = Range("degreChaleur").Cells(7).Font.Bold '< gras ou normal ? ElseIf cellule.Value >= 2 Then cellule.Font.ColorIndex = Range("degreChaleur").Cells(cellule.Value - 1).Font.ColorIndex '< coul. avant-plan cellule.Interior.ColorIndex = Range("degreChaleur").Cells(cellule.Value - 1).Interior.ColorIndex '< coul. arrière plan cellule.Interior.Pattern = xlSolid '< fond arrière plan solide cellule.Font.Bold = Range("degreChaleur").Cells(cellule.Value - 1).Font.Bold '< gras ou normal ? End If Next noRange End Sub
Mamas, la première étape est de bien définir le problème à résoudre ou coder. Idéalement qu'aimerais-tu avoir comme instrument de mesure ? Le but est de se poser les bonnes questions.