[VBA] Colorer des Cellules Excel suivant plusieurs conditions...
Fermé
S;Amer
Messages postés
4
Date d'inscription
lundi 30 septembre 2013
Statut
Membre
Dernière intervention
2 octobre 2013
-
30 sept. 2013 à 20:12
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 3 oct. 2013 à 09:38
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 3 oct. 2013 à 09:38
A voir également:
- [VBA] Colorer des Cellules Excel suivant plusieurs conditions...
- Formule excel pour additionner plusieurs cellules - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Verrouiller des cellules excel - Guide
- Suivi des modifications word - Guide
2 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
Modifié par Zoul67 le 30/09/2013 à 21:55
Modifié par Zoul67 le 30/09/2013 à 21:55
Bonsoir,
Après avoir pris une aspirine, je crois avoir remarqué une anomalie...
Sur chaque ligne (1, 2, ..., 10) il doit y avoir environ 50% de cellules colorées (jaune ou bleue peu importe) en "a" et environ 50% de cellules colorées (jaune ou bleue peu importe) en "c".
soit 30 cellules par ligne principale (1,...,10), càd 300 cellules colorées en tout.
Par ailleurs :
- Sur chaque colonne (A, B, C, ..., AD), il ne peut pas y avoir plus de 4 cellules jaune et pas plus de 4 cellules bleues.
soit 8 cellules colorées max par colonne, càd 240 cellules colorées max en tout.
Par ailleurs, c'est assez difficile de faire une macro basée sur des "environ"... si tu as des précisions/corrections à apporter, n'hésite pas.
dans la vie de tous les jours dans mon travail
Funky, ce travail !
A+
Après avoir pris une aspirine, je crois avoir remarqué une anomalie...
Sur chaque ligne (1, 2, ..., 10) il doit y avoir environ 50% de cellules colorées (jaune ou bleue peu importe) en "a" et environ 50% de cellules colorées (jaune ou bleue peu importe) en "c".
soit 30 cellules par ligne principale (1,...,10), càd 300 cellules colorées en tout.
Par ailleurs :
- Sur chaque colonne (A, B, C, ..., AD), il ne peut pas y avoir plus de 4 cellules jaune et pas plus de 4 cellules bleues.
soit 8 cellules colorées max par colonne, càd 240 cellules colorées max en tout.
Par ailleurs, c'est assez difficile de faire une macro basée sur des "environ"... si tu as des précisions/corrections à apporter, n'hésite pas.
dans la vie de tous les jours dans mon travail
Funky, ce travail !
A+
S;Amer
Messages postés
4
Date d'inscription
lundi 30 septembre 2013
Statut
Membre
Dernière intervention
2 octobre 2013
1 oct. 2013 à 17:01
1 oct. 2013 à 17:01
Bonjour,
En effet j'ai du mal détailler.
- Sur une ligne principale (1,2,3...,10) il doit y avoir qu'une case de coloré "a" et "c" confondu. C'est à dire qu'au total sur chaque ligne il ne peut pas y avoir une case de coloré en "a" et en "c". C'est soit l'une soit l'autre. Ce qui fait un total de 30 cellules de colorées en bleue ou en jaune.
- Du coup j'enlève le "environ". Il doit y avoir donc 50% de cellules jaunes et 50% de cellules bleues sur chaque ligne principale (1,2,3,...,10).
ET
50% de cellules colorées en "a" et 50% de cellules colorées en "c".
(Par exemple : 8 cellules jaune en "a", 4 cellules bleue en "a", 4 cellules jaunes en "c" et 8 cellules bleue en "c").
- Le format du tableau :
* colonne : commence en C et fini en Y.
* lignes : commence en 3 et fini en 41. Sachant que les 10 lignes principales sont 1(3,4,5), 2(7,8,9), 3(11,12,13),..., 10(39,40,41).
- Sur les colonnes c'est exacte, il y a au total 200 cellules colorées dans le tableau. Sachant qu'il doit y avoir 4 cellules jaunes et 4 cellules bleues par colonnes (pas plus pas moins)
ET
2 cellules jaunes sur l'ensemble des 10 lignes en "a" ainsi que 2 cellules jaunes sur l'ensemble des 10 lignes en "c" et 2 cellules bleue sur l'ensemble des 10 lignes en "a" ainsi que 2 cellules bleue sur l'ensemble des 10 lignes en "c".
J'espère avoir apporté toutes les précisions nécessaire mais oui comme tu dis Funky ce travail. J'essaye de faire tout ça manuellement mais ça me prend un temps fou à chaque fois.
En effet j'ai du mal détailler.
- Sur une ligne principale (1,2,3...,10) il doit y avoir qu'une case de coloré "a" et "c" confondu. C'est à dire qu'au total sur chaque ligne il ne peut pas y avoir une case de coloré en "a" et en "c". C'est soit l'une soit l'autre. Ce qui fait un total de 30 cellules de colorées en bleue ou en jaune.
- Du coup j'enlève le "environ". Il doit y avoir donc 50% de cellules jaunes et 50% de cellules bleues sur chaque ligne principale (1,2,3,...,10).
ET
50% de cellules colorées en "a" et 50% de cellules colorées en "c".
(Par exemple : 8 cellules jaune en "a", 4 cellules bleue en "a", 4 cellules jaunes en "c" et 8 cellules bleue en "c").
- Le format du tableau :
* colonne : commence en C et fini en Y.
* lignes : commence en 3 et fini en 41. Sachant que les 10 lignes principales sont 1(3,4,5), 2(7,8,9), 3(11,12,13),..., 10(39,40,41).
- Sur les colonnes c'est exacte, il y a au total 200 cellules colorées dans le tableau. Sachant qu'il doit y avoir 4 cellules jaunes et 4 cellules bleues par colonnes (pas plus pas moins)
ET
2 cellules jaunes sur l'ensemble des 10 lignes en "a" ainsi que 2 cellules jaunes sur l'ensemble des 10 lignes en "c" et 2 cellules bleue sur l'ensemble des 10 lignes en "a" ainsi que 2 cellules bleue sur l'ensemble des 10 lignes en "c".
J'espère avoir apporté toutes les précisions nécessaire mais oui comme tu dis Funky ce travail. J'essaye de faire tout ça manuellement mais ça me prend un temps fou à chaque fois.
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
1 oct. 2013 à 19:40
1 oct. 2013 à 19:40
Bonsoir,
Je crois qu'il y a encore une imprécision dans l'énoncé.
Sur une ligne principale (1,2,3...,10) il doit y avoir qu'une case de coloré "a" et "c" confondu. C'est à dire qu'au total sur chaque ligne il ne peut pas y avoir une case de coloré en "a" et en "c". C'est soit l'une soit l'autre. Ce qui fait un total de 30 cellules de colorées en bleue ou en jaune.
Un total de 30 par ligne principale... soit 300 en tout ; veux-tu dire un max de 30 ? Et que un couple (a,c) peut être incolore (ça semblerait confirmé par 4 cellules jaunes + 4 cellules bleues par colonne alors qu'il y a 10 lignes => mais 8 cellules par colonne pour un total de 200 cellules colorées amène à seulement 25 colonnes ?!
Dans tous les cas, ça fait de l'aléatoire à deux dimensions... pas évident !
Je crois qu'il y a encore une imprécision dans l'énoncé.
Sur une ligne principale (1,2,3...,10) il doit y avoir qu'une case de coloré "a" et "c" confondu. C'est à dire qu'au total sur chaque ligne il ne peut pas y avoir une case de coloré en "a" et en "c". C'est soit l'une soit l'autre. Ce qui fait un total de 30 cellules de colorées en bleue ou en jaune.
Un total de 30 par ligne principale... soit 300 en tout ; veux-tu dire un max de 30 ? Et que un couple (a,c) peut être incolore (ça semblerait confirmé par 4 cellules jaunes + 4 cellules bleues par colonne alors qu'il y a 10 lignes => mais 8 cellules par colonne pour un total de 200 cellules colorées amène à seulement 25 colonnes ?!
Dans tous les cas, ça fait de l'aléatoire à deux dimensions... pas évident !
S;Amer
Messages postés
4
Date d'inscription
lundi 30 septembre 2013
Statut
Membre
Dernière intervention
2 octobre 2013
2 oct. 2013 à 12:24
2 oct. 2013 à 12:24
Bonjour,
Effectivement vous avez raison il y a une erreur dans ce que j'ai écrit.
Sur le tableau qui fait 25 colonnes il y a au total 200 cellules colorés. Sur les lignes principales il peut en effet y avoir une case "a" et une case "c" vide !!!
La condition sur les colonnes est exacte,
MAIS
la conditions sur les lignes est fausse. Voici la réalité :
- Sur une ligne principale (1,2,3...,10) il doit y avoir qu'une case de coloré "a" et "c" confondu. C'est à dire qu'au total sur chaque ligne il ne peut pas y avoir une case de coloré en "a" et en "c". C'est soit l'une soit l'autre.
MAIS
il peut y avoir un ensemble vide. C'est à dire que en "a" et "c" il n'y a aucune case de colorée.
- Il doit y avoir donc 50% de cellules jaunes et 50% de cellules bleues sur chaque ligne principale (1,2,3,...,10).
ET
50% de cellules colorées en "a" et 50% de cellules colorées en "c".
- Il doit y avoir le même nombre de cellules colorées (plus ou moins 2) sur chaque ligne principales.
(Exemple : ligne 1 : 4 cellules colorées en "a" et 7 cellules colorées en "c"
ligne 2 : 8 cellules colorées en "a" et 4 celules colorées en "c" ...
Mais oui en effet ca reste un codage compliqué c'est pour ça que je viens ici chercher de l'aide. Mais si c'est beaucoup trop compliqué je continuerais dans le manuelle ;)
Effectivement vous avez raison il y a une erreur dans ce que j'ai écrit.
Sur le tableau qui fait 25 colonnes il y a au total 200 cellules colorés. Sur les lignes principales il peut en effet y avoir une case "a" et une case "c" vide !!!
La condition sur les colonnes est exacte,
MAIS
la conditions sur les lignes est fausse. Voici la réalité :
- Sur une ligne principale (1,2,3...,10) il doit y avoir qu'une case de coloré "a" et "c" confondu. C'est à dire qu'au total sur chaque ligne il ne peut pas y avoir une case de coloré en "a" et en "c". C'est soit l'une soit l'autre.
MAIS
il peut y avoir un ensemble vide. C'est à dire que en "a" et "c" il n'y a aucune case de colorée.
- Il doit y avoir donc 50% de cellules jaunes et 50% de cellules bleues sur chaque ligne principale (1,2,3,...,10).
ET
50% de cellules colorées en "a" et 50% de cellules colorées en "c".
- Il doit y avoir le même nombre de cellules colorées (plus ou moins 2) sur chaque ligne principales.
(Exemple : ligne 1 : 4 cellules colorées en "a" et 7 cellules colorées en "c"
ligne 2 : 8 cellules colorées en "a" et 4 celules colorées en "c" ...
Mais oui en effet ca reste un codage compliqué c'est pour ça que je viens ici chercher de l'aide. Mais si c'est beaucoup trop compliqué je continuerais dans le manuelle ;)
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
2 oct. 2013 à 13:28
2 oct. 2013 à 13:28
50% de cellules colorées en "a" et 50% de cellules colorées en "c".
est en contradiction avec
4 cellules colorées en "a" et 7 cellules colorées en "c" ...
est en contradiction avec
4 cellules colorées en "a" et 7 cellules colorées en "c" ...
S;Amer
Messages postés
4
Date d'inscription
lundi 30 septembre 2013
Statut
Membre
Dernière intervention
2 octobre 2013
2 oct. 2013 à 23:21
2 oct. 2013 à 23:21
Effectivement c'est ça d'écrire trop vite. Désolé je voulais dire
Exemple :
ligne 1 : 5 cellules colorées en "a" et 5 cellules colorées en "c"
ligne 2 : 6 cellules colorées en "a" et 6 cellules colorées en "c"
ligne 3 :6 cellules colorées en "a" et 6 cellules colorées en "c"
...
Ce qui fait le 50% en "a" et le 50% en "c" avec le meme nombre de cellule colorée (+ ou - deux) sur chaque ligne principale.
Exemple :
ligne 1 : 5 cellules colorées en "a" et 5 cellules colorées en "c"
ligne 2 : 6 cellules colorées en "a" et 6 cellules colorées en "c"
ligne 3 :6 cellules colorées en "a" et 6 cellules colorées en "c"
...
Ce qui fait le 50% en "a" et le 50% en "c" avec le meme nombre de cellule colorée (+ ou - deux) sur chaque ligne principale.
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
3 oct. 2013 à 09:38
3 oct. 2013 à 09:38
Bonjour,
Je pense qu'il faut créer le caractère aléatoire sur les lignes dans un premier temps, et vérifier que cette sortie aléatoire respecte les critères sur les colonnes.
Pour l'aléatoire sous VBA, je n'ai entendu que de la fonction Rnd.
Donc dans un premier temps forme un mot ("bbbbbjjjjjoo...") avec :
- nb "b", nb étant le nombre de cellules bleues
- nj "j", nj étant le nombre de cellules jaunes
- no "o", no étant le nombre de couples vides (a,c) pour ainsi traiter toutes les colonnes d'une ligne principale
Passe ce mot à la moulinette 'anagramme' (cf. https://forums.commentcamarche.net/forum/affich-26275966-suite-de-lettre-aleatoire-parmi-une-liste-definie#3)
Fais de même avec le mot "aaaaaccccc" avec na=nc=nb.
Ceci te permet de créer les associations b-a b-c j-a j-c pour chaque ligne et de colorer en conséquence.
Pour les conditions sur les colonnes, on verra plus tard.
A+
Je pense qu'il faut créer le caractère aléatoire sur les lignes dans un premier temps, et vérifier que cette sortie aléatoire respecte les critères sur les colonnes.
Pour l'aléatoire sous VBA, je n'ai entendu que de la fonction Rnd.
Donc dans un premier temps forme un mot ("bbbbbjjjjjoo...") avec :
- nb "b", nb étant le nombre de cellules bleues
- nj "j", nj étant le nombre de cellules jaunes
- no "o", no étant le nombre de couples vides (a,c) pour ainsi traiter toutes les colonnes d'une ligne principale
Passe ce mot à la moulinette 'anagramme' (cf. https://forums.commentcamarche.net/forum/affich-26275966-suite-de-lettre-aleatoire-parmi-une-liste-definie#3)
Fais de même avec le mot "aaaaaccccc" avec na=nc=nb.
Ceci te permet de créer les associations b-a b-c j-a j-c pour chaque ligne et de colorer en conséquence.
Pour les conditions sur les colonnes, on verra plus tard.
A+