Impossible à faire ?
Bonjour à tous,
Voici un fichier d'un plan que j'ai fait sur Excel, je voudrais pouvoir additionner toutes les cases en bleu où il y a marqué Z et les multiplier par le nombre de niveaux (chaque couleur correspond à un nombre de niveaux) et multiplier le tout par la largeur de centimètre correspondant => en fait le veux le nombre de mètres linéaires correspondant à la lettre Z, puis 8Ye ...
Il s'agit d'un plan de rangement de séries...
Si je veux utiliser la fonction couleur VBA je dois avoir un tableau, ici ça ne marche pas. Je peux faire nb.si et sélectionner plage par plage mais il y en a beaucoup (car cela la couleur de la cellule je dois multiplier par un nombre de niveaux différents) et ici ce n'est pas le fichier le plus complexe...
Bref, est-ce que je me prends la tête pour rien et est-ce que je peux le faire avec Excel ou est-ce impossible ?
Bonjour,
Je vais t'apporter plus de questions que de réponses : Pour l'instant ce n'est pas trop clair !
Il n'y a que la couleur bleu qui nous intéresse ? Et les autres elles servent à quoi ?
Tu veux juste un total global pour Z et un autre pour Y ? Ou au contraire un total pour chaque groupe (ligne/colonne numérotée.
La difficulté est que c'est numéroté un peu n'importe comment. A gauche, à droite, en dessous, oarfois avec un cellule d'écart (128,129)
Quant aux cellules fusionnées on ne sait pas trop comment les compter. Elles ne font pas bon ménage avec les macros : il faut les défusionner.
Et le résultat final tu le veux sous quelle présentation ?
A+
EDIT : 2013 c'est un MAC ?
Bonjour Galopin,
Je te remercie de t'intéresser à mon problème.
En fait, il s'agit ici d'un plan de magasins avec plusieurs références.
Les racks ne sont pas agencés tous de la même manière, certains ont 4, 5 , 6 niveaux. En plus les étagères ne sont pas toutes de la même dimension.
On le voit dans la légende à coté, avec les carrés de couleur, le chiffre à côté indique le nombre de niveau auquel la couleur fait référence. Selon le contour le la cellule (rouge, noir..la taille est différente).
Pour ce fichier il n'y a que 2 références : Z et 8ye. Le reste de numéro correspond au numéro des travées (qui ne nous intéresse pas ici)
Je veux calculer le métrage linéaire correspondant à chaque référence. Donc oui chaque couleur m'intéresse.
Ok pour les cellules fusionnées, je vais le changer
Je veux le résultat final sous forme de tableau de synthèse (il y a plusieurs onglets, du même type),
Pour tel Bâtiment (ici Bat 5) j'ai X ml de Z, X mL de 8ye.
J'espère que c'est plus clair !
2013 c'est un MAC ?
Il y a aussi un autre écueil, encore plus compliqué que les fusions : Ce sont les bordures mixtes. Certaines cellules ont des bordures mi-grasses mi-normale, d'autres mi pointillées/mi-normales ou mi-grasses. ça c'est pas possible : ça veut dire que pour chaque couleur de chaque cellule il faut évaluer chaque bordures et utiliser les bordures majoritaires ce qui marche dans 99 % des cas. Cependant dans certains cas ce n'est pas possible (Q44, R 44-66-68-70, P132)
C'est une histoire de fou !Il faut Dans un premier temps si c'est possible remplacer chaque appellation par une lettre :
Z convient très bien
8ye tu remplace par Y et ainsi de suite jusqu'à avoir toutes les lettres de l'alphabet (en majuscule)
Si tu n'en as pas assez ne pas utiliser de minuscule mais dans ce cas me consulter.
Ensuite remplacer les bordures de couleur par une deuxième lettre que tu vas associer à ton Z
ça te fera des références en ZA, ZB, ZC...
Idéalement il faudrait aussi remplacer les couleurs par une troisième lettres (ou un chiffre) si tu n'as pas plus de 10 couleurs ZA1, ZA2, ZB3 conviendront très bien. Ensuite le traitement pourra être très rapide :
Manier les couleurs et les bordures en VBA c'est scatologiques surtout si tu as beaucoup de cellules...
En revanche manier des valeurs alphanumériques ça on sait faire instantanément (Ne pas oublier qu'Excel est un calculateur pas un logiciel de dessin)
Tu n'as même pas besoin de toucher à tes couleurs et tes bordures juste modifier les valeurs et supprimer les fusions.
Et tu gagneras un temps fou...
Bonjour Galopin01,
Oui je crois que j'en demande trop à Excel, j'aurais plus vite fait de compter les cellules d'une même famille et d'ajouter une formule classique pour les calculs de mesure !
Bonne fin de weekend
Bonjour BribriD,
Merci de mettre un titre de sujet en rapport avec votre demande.
Votre titre actuel --> "Impossible à réaliser" ne résume en rien votre demande.
Au besoin lisez ces quelques lignes qui vous aideront dans vos demandes et réponses sur ce forum --> https://forum.excel-pratique.com/excel/a-lire-avant-de-poster-charte-du-forum-et-informations-utiles...
Merci de votre compréhension et participation sur ce forum
Cordialement
C'est pas tellement que tu en demande trop à Excel c'est que tu t'en sers mal.
Excel est super pour faire des calculs sur les valeurs. Mais faire des calculs sur les éléments de décoration ... C'est un petit peu comme vouloir compter les nymphéas sur un tableau de MONET...
En plus si tu ne réponds pas aux question qu'on te pose ça ne facilite pas le boulot...
J'ai donc fait les calculs en adoptant 20 cm pour les cellules bordées en pointillées. J'ai noté dans le code l'endroit ou il faut modifier pour la dimension réelle.
Et j'ai également considéré que tu avais un MAC : Pour moi 2013 c'est pas une référence Office donc ça m'a un peu obligé à faire des calculs plus compliqués et lents... Mébon.
J'ai aussi un peu triché car j'ai enregistré la macro et ensuite je l'ai optimisé. Parce que défusionner des cellules et les reformater c'est un petit peu comme demander à Excel de demander à VBA de jouer aux chaises musicales.
Mébon : La macro applicable c'est Galopin et elle déroule toutes les phases des modifications qu'on peut faire.
Et tu as le résultat en colonne AN et AO
Il subsiste un problème non solutionné : (les cellules Q1, Q21 et R90) qui cumulent 2 formats de dimensions (hachures et bordures fines...)
A+