Bonjour,
Je suis développeur de logiciel et je suis face a un petit problème mathématique concernant le redimensionnement de cellules dans un tableau.
Contexte : Un tableau de n lignes à une hauteur totale de 100%. A l'état initial la hauteur de chaque ligne est de 100 / n. Maintenant je souhaite agrandir ou réduire la hauteur de n'importe quelle cellule. De combien dois je réduire ou agrandir toutes les autres cellules afin de respecter le ratio du tableau ? De même il serait possible de modifier également la largeur d'une colonne.
Exemple graphique en PJ.
Cordialement,
Salut,
Par ratio je veux dire qu'on a pas le droit de modifier la taille du tableau, et que par conséquent il faut réduire ou agrandir les autres cellules pour que la taille totale du tableau reste la même.
Cordialement,
..de ce que j'ai compris , si la hauteur d'une cellule est: a et que tu a n lignes , alors la hauteur du tableau
serait n.a , si tu modifie la hauteur d'une cellule en appliquant un coeff d'agrandissement ou de reduction
et si k est ce coefficient , alors la nouvelle hauteur de ta cellule modifiée est k.a , les autres cellules doivent alors
avoir une hauteur x tel que k.a + (n-1)x = n.a puisqu'on veut garder la dimension originale du tableau en hauteur
et donc x = (n.a - ka) /(n-1) = a(n-k)/(n-1)
...si tu modifie la hauteur de 2 cellules en y appliquant le meme coefficient d'agrandissement ou de reduction
tu aurai 2.ka + (n-2).x = n.a et x = hauteur des cellules non modifiées = a.(n-2k)/(n-2)
..si tu modifie la hauteur de i cellules en y appliquant le meme coefficient d'agrandissement ou de reduction
tu aurai i.ka + (n-i).x = n.a et x = hauteur des cellules non modifiées = a.(n-i.k)/(n-i)
Peux tu nous montrer un exemple avec le tableau ci dessus (avec les hauteurs 10%, 10%, 40%, 40%) si on modifie la dernière cellule de 40% à 50% ?
Cdt,
Bonjour,
Je suis avec milou68 sur ce problème.
J'ai effectué le calcul sur l'exemple et j'arrive pas à trouver de résultat cohérent.
Taille du tableau = n.a au départ mais cela n'est plus vrai pas la suite donc dans le cas d'un deuxième changement. Il faudrait se basé plutôt sur 100%.
Exemple :
Calcul de la hauteur de la cellule 3 après changement de la cellule 4 de 40% à 50%.
40 * (4 - 50/40) / (4-1) = 40 * (9/4) / 3 = 30%
On a donc bien 10% 10% 30% 50% = 100%
mais le problème est qu'il aurait fallu répartir équitablement la modification sur toutes les cellules.
9% 9% 32% 50% par exemple.
Sinon on inverse le coef d'augmentation pour l'appliquer en tant que coef de diminution des autres cellules on obtient 8% 8%(10 * 4/5) 32%(40 * 4/5) 50%
Bref j'ai l'impression que ça la chose assez compliqué.
Bonjour
p1, p2, ..., pn = les pourcentages initiaux des n lignes ou colonnes
p'1, p'2, ..., p'n = les nouveaux pourcentages
si on choisit p'i pour la i-ème ligne ou colonne, alors pour les autres, il faut multiplier leur pourcentage par
exemple initial : 10% 10% 40% 40%
on passe la troisième à 50% : les autres sont à multiplier par
on passe à 8.33% 8.33% 50% 33.34%
ça correspond à ce que vous cherchez à faire ?
C'est exactement ça. Ça fonctionne parfaitement.
Par contre je n'arrive pas à comprendre le fonctionnement, ou plutôt le raisonnement qui vous a amené à une telle formule.
La valeur 100 correspond aux 100% j'imagine de la taille fixe. Du coup 100-pi' correspond à l'espace restant et en le divisant par 100-pi on arrive à obtenir le ratio correspond à l'espace restant.
Par la suite il suffit d'appliquer les pourcentages existants à ce ratio pour obtenir les nouveaux pourcentages équilibrés. Je crois qu'en rédigeant cela, j'ai compris le raisonnement. ^^
Merci encore à tous les deux pour votre temps,
Thibaut
c'est tout à fait ça : les autres cellules se partageaient 100-pi%, elles devront se partager 100 - p'i%, et comme on veut garder les proportions, il faut juste multiplier chacune par le coeff d'agrandissement (si p'i < pi) ou de réduction (si p'i > pi)...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :