Hauteur des cellules en fonction de leurs valeurs? - VB/VBA/VBS - Programmation
Marsh Posté le 10-04-2007 à 15:35:56
commence par poster ton bout de code actuel
ps : à noter qu'un graphe "histograme cumulé" me semble plus propre comme solution
Marsh Posté le 10-04-2007 à 16:23:27
Voici le code que j'ai pour une cellule mais l'utilisation du Value ne me parait pas bonne...
Range("E11" ).Select
Rows("11:11" ).RowHeight = Cells("E11" ).Value * 18 / Cells("E5" ).Value
Marsh Posté le 10-04-2007 à 16:24:31
Value2 pour récupérer la valeur. Value contient la formule lorsque c'est une formule
Marsh Posté le 10-04-2007 à 16:25:38
Et j'imagine que dans ton cas :
Cells("E5" ).Value = "=sum(E7:E26)"
Marsh Posté le 10-04-2007 à 16:26:57
ok merci.
Cependant, j ai une erreur : "Incompatibilité de type"
Marsh Posté le 10-04-2007 à 16:37:13
ben fait des débug.
et tente un CInt() autour de la valeur
Marsh Posté le 10-04-2007 à 16:41:37
Le Débug m'indique que l'erreur est la, mais je n'arrive pas à la déceler.
Peux-tu me dire si qqch te saute aux yeux?
Rows("11:11" ).RowHeight = Cells("E11" ).Value2 * 18 / Cells("E5" ).Value2
Merci
Marsh Posté le 10-04-2007 à 16:43:45
quand je parle de debug, colle des msgbox partout avant cette ligne, afin d'afficher :
Cells("E11" ).Value2
Cells("E5" ).Value2
Cells("E11" ).Value2 * 18 / Cells("E5" ).Value2
et
Rows("11:11" ).RowHeight
(parceque j'ai pu me planter entre Value et Value2, je sais jamais lequel contient la formule en fait )
Marsh Posté le 11-04-2007 à 01:38:44
"Cells" ne supporte pas la nomenclature excel de type "E11" ; soit tu remplaces "cells" par "range" soit tu remplaces cells("E11" ) par cells(11,5)
voila
Marsh Posté le 11-04-2007 à 01:44:03
Sinon, concernant .value ou .value2, les 2 donnent le même résultat dans le cas d'une valeur stricte (12 p. ex.) ou d'un calcul excel (=6*2).
Marsh Posté le 11-04-2007 à 10:19:51
AprilThe5th a écrit : Sinon, concernant .value ou .value2, les 2 donnent le même résultat dans le cas d'une valeur stricte (12 p. ex.) ou d'un calcul excel (=6*2). |
chelou en effet
MsgBox (Cells(3, 1).Formula) <- c'est ça qui affiche la formule...
Effectivement, j'ai dit une connerie à propos de Value et Value2.
D'après la doc :
Citation : La seule différence existant entre cette propriété et la propriété Value réside dans le fait que la propriété Value2 n'utilise pas les types de données aux formats Currency et Date. Vous pouvez retourner des données de ce type sous forme de nombres à virgule flottante en utilisant le type de données Double. |
Me coucherai moins con ce soir
Marsh Posté le 10-04-2007 à 14:59:31
Bonjour a tous,
Sous Excel, je dispose de valeurs en colonne (lignes 7 à 26) ainsi que d'un total (ligne 5).
J'aimerais que chaque cellule ait une hauteur en fonction de sa valeur (base de 12 pour une cellule qui fait 5% du total).
Exemple : Une cellule prend comme valeur 10, celle d en dessous 20. Le total est donc de 30.
Je veux que la 1ere cellule fasse en hauteur 12*(10/30)/0.05 et que la 2eme fasse 12*(20/30)/0.05
Je n'arrive pas à incorporer la valeur de la cellule dans ma fonction VB donc si qqun pouvait m'aider, ca serait super cool.
Merci