j aurais besoin de calculer( en formule matricielle si possible) le nombre de cellules colorées par colonnes, sachant qu'il n'y a que les couleurs rouge et violette et que j'écris une ligne par jour (voir exemple sur fichier joint)
En attendant que quelqu'un te donne une formule, voici, avec une fonction personnalisée en VBA...
Attention! Si tu ne fais que changer une couleur, la cellule de comptage ne se met pas à jour ; il faut que le recalcul soit lancé par F9 ou par autre chose pour que la fonction travaille...
Edit : cela ne fonctionne que pour les deux couleurs actuelles...
En attendant que quelqu'un te donne une formule, voici, avec une fonction personnalisée en VBA...
Attention! Si tu ne fais que changer une couleur, la cellule de comptage ne se met pas à jour ; il faut que le recalcul soit lancé par F9 ou par autre chose pour que la fonction travaille...
Edit : cela ne fonctionne que pour les deux couleurs actuelles...
Merci c'est super, c'est ce que je voulais, et je n'aurais que ces 2 couleurs, jamais d'autre,mais si je voulais en matricielle, c'est que je dois retranscrire ce calcul sur environ une dizaine de feuilles, alors même si je ne connais rien en VBA mais si tu m'explique comment l'appliquer sur les autres feuilles je pense pouvoir le faire et ce serait
L AMERIQUE pour moi..... j'aurais eu ce que je recherche
SINON SI C EST PAS FAISABLE J ATTENDRAIS VOIR SI QUELU UN VEUT BIEN ME LA TRANSCRIRE EN MATRICIELLE
Voici la version VBA pour plusieurs feuilles. La fonction reste unique et a été modifiée en conséquence (a noter qu'elle doit rester dans un module standard).
Sur chaque feuille, il faut ajouter dans une cellule (j'ai choisi A2 mais ce peut être ailleurs) la formule pour trouver le nom de la feuille et ajouter l'adresse de cette cellule (donc ici $A$2) comme second argument dans l'appel de la fonction
C'est tout.
NOTA : si quelqu'un voit une autre méthode pour passer le nom de la feuille contenant l'appel de la fonction, dans le VBA, je suis preneur!
Bien compris pour le 2 et le 3 sans problème je pense :
- pour compter toutes les cellules coloriées, je change le violet en rouge sinon cela ne marche pas (ou peut on tenir compte des deux couleurs)
- pour la 2 je vais changer la formule en H16:AA16 et je tire jusqu'à la ligne 155
- pour la 3 je copie la formule
DONC TOUT CELA OK
Par contre pour la 1 je fais comment ? j'ai pas bien compris ce que je dois faire en A1 car si je regarde toi il n'y a rien en A1 alors que moi si je tape TEST= (la ligne de code que tu m'as donné , cela reste écrit?) et rienne se passe en H11
et est ce que le ('P (3) ) représente la feuille et la couleur ou est ce que le P représente la feuille et le (3) la couleur ?)
La formule du nom test est une formule qui utilise une référence relative (pas de $) donc qui dépend de la cellule sélectionnée quand on définit le nom.
Il suffit de le définir correctement pour une cellule, il fonctionnera ensuite pour toutes.
Si l'on veut compter les 2 couleurs 3 et 13, définir le nom test en A1 par :
La formule du nom test est une formule qui utilise une référence relative (pas de $) donc qui dépend de la cellule sélectionnée quand on définit le nom.
Il suffit de le définir correctement pour une cellule, il fonctionnera ensuite pour toutes.
Si l'on veut compter les 2 couleurs 3 et 13, définir le nom test en A1 par :
JOB75 ou MECANO41 JE VEUX BIEN METTRE EN CELLULE A1 pour l'un ou dans une autre cellule pour l'autre
mais je m'y prends comment ? je ne connais ni le VBA ni même faire une macro.
En faisant cela mon fichier j'ai tous mes éléments de calcul et je ne viens plus vous ennuyer
Alors soit l'un soit l'autre, je vous demande d'avoir toute la gentillesse, et la patience de bien vouloir m adapter ce que vous me dites aux feuilles " generale " P T O
je vous joins le fichier a voir la c) CJoint.com, 2012
Je sais je suis du genre "chiant"
Neammoins si vous voulez bien m'expliquer comment on fait pour declarer dans une cellule
- "test" pour job75 ou MECANO41 pour declarer ce que tu me dis dans une cellule, cela me serviras dans les temps a venir et j'apprends ainsi comment on fait MERCI
(je n ai que les couleurs ROUGE et VIOLET et jamais aucune autres couleurs)
Pour la version VBA, il y a juste à copier la fonction dans un module comme tu as dû copier les autres fonctions (j'ai pris le module 6 qui était vide).
ensuite, il suffit de mettre la formule au début la ligne où tu veux le nb. de cellules coloriées et tu étires vers la droite... Suite à la suggestion judicieuse de Job75, j'ai modifié le code pour qu'il ne soit plus nécessaire de calculer le nom de feuille.
En revanche, j'ai fait les 4 feuilles mais comme dans l'une, il n'y avait pas de ligne prévue, j'ai ajouté une ligne dans les autres pour que les données à vérifier commencent toutes à la même ligne (17 au lieu de 16)
Je te conseille de refaire l'opération pour ces feuilles, dans un autre fichier, pour t'entraîner...et en plus, comme je suis sous EXCEL 2010 il vaut mieux faire la modif dans ta version.
Si les données des feuilles concernées par la même fonction devaient absolument commencer à une ligne différente selon la feuille, il faudrait nommer une cellule repère et modifier le code en conséquence. Je ne l'ai pas fait d'office pour ne pas te compliquer la vie...
JE SAIS PAS SI TU AS VU MON DERNIER MESSAGE
J AI ENVOYE LE FICHIER IL Y A UNE MODIF A FAIRE EN FEUILLE "O" ANNULE TOUT CE QU IL Y A EN LIGNE 11 AINSI TU POURRAIS FAIRE UN CALCUL IDENTIQUE SUR LES 4 FEUILLES
JE TE DEMANDE S IL TE PLAIT DE BIEN VOULOIR FAIRE LE NECESSAIRE SUR LES FEUILLES "generale" "P" "T""O" et tu me retournes le fichier CAR JE NE SAIS PAS COMMENT ON DECLARE LA CELLULE A1 en TESTE POUR LE RESTE J AI COMPRIS.
LA FORMULE DE MECANO ( QUE JE REMERCIE VIVEMENT D AILLEURS) NE CONVIENS PAS
ELLE METS EN DISFONCTIONNEMENT LES COMMANDES " calcul" et "transfert"
C'est probablement l'ajout d'une ligne que tes codes ne digèrent pas... (j'ai tellement l'habitude de tout nommer de manière à ce que le code fonctionne même en ajoutant/supprimant des lignes autour des données que je n'ai pas vérifié!)
J'ai modifié le code ; il ne semble pas perturber le reste. Simplement, il ne faut rien écrire en dessous de A1 jusqu'à "date" car je fais un End(XlDown..etc pour trouver la première ligne des données dans le cas ou tu modifierais... Sinon, pour le reste, c'est comme j'ai dit plus haut : copie du code dans un module standard et copie de la formule (tu peux copier/coller les 20 cellules en même temps) Pour la feuille O, j'ai mis la ligne où il y avait de la place sans ajouter de ligne.