Fleches croissantes ou décroissantes selon valeur

cs_marcopolo2 Messages postés 3 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 11 janvier 2006 - 9 janv. 2006 à 11:02
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 9 janv. 2006 à 20:01
Bonjour,
je cherche à ajouter en fonction d'un critère de valeur ( positif ou négatif) une fleche sur la droite d'une cellule.
par exemple : si A1=-100 alors fleche decroissante sur cellule A2
si A1 = 100 alors fleche croissante sur cellule A2
etc pour les autres cellules de la même colonne!!
Merci d'avance et j'en profite pour vous souhaiter à toutes et à tous une bonne et heureuse année.

4 réponses

Skygod Messages postés 11 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 18 septembre 2008
9 janv. 2006 à 13:55
Salut,

Moi, je ferais comme ceci :

Range("A1").select
do until isempty(activecell.value)
if activecell.value <0 then
activecell.offset(0,1) = "<"
elseif activecell.value > 0 then
activecell.offset(0,1) = ">"
endif
activecell.offset(1,0).select
loop

Mais attention, je suis loin d'être un pro alors il y a peut-être + simple et + correct.

Skygod
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
9 janv. 2006 à 17:31
Pense à toujours nous dire dans quel langage tu programmes (VBA en l'occurence!) et sa version ainsi que le soft (Excel, Word, Access, ...). Car on est pas dans ta tête pour deviner!
Moi, je serais toi, je me prendrais pas la tête avec du code VBA et je me contenterais, en lieu et place des flêches, de codes couleurs (rouge négatif et vert positif) mis en place via la Mise en form conditionnelle (Menu "Format" sous Excel).

Autrement dit, tu sélectionnes les cellules en cause, tu lances cette fonction de Excel (Menu Format => Mise en forme conditionnelle... sous Excel 2000!), et tu fait 2 conditions : une pour le rouge et l'autre pour le vert... tout simplement !

Est-ce que cela répond a ta question où as-tu vraiment besoin d'un code VBA ???

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
cs_marcopolo2 Messages postés 3 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 11 janvier 2006
9 janv. 2006 à 17:42
j'ai effectivement oublié de préciser qu'il s'agissait de vba excell.
j'en suis là pour tout vous dire :


Set plageCherche = Application.InputBox(Prompt:="Sélectionnez la plage de données à modifier", Type:=(8))


For Each Item In plageCherche
On Error Resume Next
If Item.Value >= 0 Then
Item.Select
With Selection
.Font.ColorIndex = 4
End With
Else
Item.Select
With Selection
.Font.ColorIndex = 3
.Font.Bold = True
End With
End If


Next

je connais les fomats conditionnels ou autres mais ce que je cherche à faire est totalement différent et je n'ai pas d'autres choix.
je dois construire des rapports rapidement ou je dois intégrer des fleches ( des shapes) à coté des valeurs d'un tableau ( et pas juste des > ou < ).
si vous avez une idée je suis preneur.
merci d'avance.
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
9 janv. 2006 à 20:01
Ton salut se trouve dans l'aide à la rubrique :
ActiveSheet.Shapes.AddShape(Constante VB..., ...
Enfin, a mon avis car je ne suis pas allé regardé toutes les constantes!
Sinon, regarde l'objet Shapes.

Le plus difficile est d'obtenir les coordonnées graphiques de la cellule d'a coté... Là, tu peux toujours créer une petite fonction pour additionner la hauteur de chaque cellule (avec un petit For/Next) s'il n'y a aucune propriété pour te donner l'info!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
Rejoignez-nous