Graphique en barres (façon excel)

Soyez le premier à donner votre avis sur cette source.

Vue 15 903 fois - Téléchargée 972 fois

Description

J'avais besoin d'un petit bout de codes pour générer des barres en compta, n'ayant rien trouvé à ce sujet voilà chose faite avec ces quelques lignes qui vous généreront un graphique assez simple mais très parlant.

Source / Exemple :


<%

' === Déclarations =============================================
dim tab_achats	' 1=fournisseur ; 2=ttl
dim tab_temp	' idem tab_achats pour le tri
dim ttl_max:	ttl_max=0		' valeur max retenue
dim largeur_tab:	largeur_tab	= 600	' largeur du tableau à l'affichage
dim clr_cel		' déclaration de la couleur de cellule
dim i,j,k,flag_etat

' === Affichage ===============================================
' remplissage du Tableau
redim tab_achats(5,2)
tab_achats (1,1)	= "Pierre"
tab_achats (1,2)	= 100
tab_achats (2,1)	= "Paul"
tab_achats (2,2)	= 20
tab_achats (3,1)	= "Jacques"
tab_achats (3,2)	= 40.50
tab_achats (4,1)	= "Titi"
tab_achats (4,2)	= 70
tab_achats (5,1)	= "Roméo"
tab_achats (5,2)	= 80

' Récupération du montant Max
for i=1 to UBound(tab_achats)
   if tab_achats(i,2) > ttl_max	then ttl_max=tab_achats(i,2)
next

range_donnees	' range les données du montant le plus fort au plus faible
trace_graphe	' trace le graphique

' === Fonctions Internes =========================================
Function range_donnees
   ' tri par ordre croissant
   j=1: redim tab_temp(1,2)
   do while j<(UBound(tab_achats)+1)
                flag_etat = true
	for i=(j+1) to UBound(tab_achats)
		if tab_achats(j,2)<tab_achats(i,2) then
		' échange des données
		for k=1 to 2
		tab_temp(1,k)=tab_achats(j,k)
		next
		for k=1 to 2
		tab_achats(j,k)=tab_achats(i,k)
		next
		for k=1 to 2
		tab_achats(i,k)=tab_temp(1,k)
		next
		flag_etat = false
		exit for
		end if
	next
	if flag_etat then	j=j+1
   loop
End Function

Function trace_graphe
   Response.Write "<br><table align=center width="& largeur_tab &" border=0 cellpadding=0 cellspacing=0>"
   for i=1 to UBound(tab_achats)
	Randomize:	clr_cel = Cint(255*(Rnd+1-1)) & Cint(255*(Rnd+1-1)) & Cint(255*(Rnd+1-1)) ' génération couleur Hexa
	Response.Write "<tr>" &_
	"<td width=200><font face='Verdana' size=2>"& tab_achats(i,1) &"&nbsp;</font></td>" &_
	"<td>" &_
	"<table width='"& Cint(100*(tab_achats(i,2)/ttl_max)) &"%' border=0 cellpadding=0 cellspacing=0>" &_
	"<tr bgcolor='#"& clr_cel &"'><td><img src='vide.gif' width='100%' height=10 border=0 alt='"& FormatNumber(tab_achats(i,2),2) &" ?'></td></tr>" &_
	"</table>" &_
	"</td>" &_
	"</tr>"
	Response.Write "<tr>" &_
	"<td><img src='vide.gif' height=5 border=0></td>" &_
	"<td><img src='vide.gif' height=5 border=0></td>" &_
	"</tr>"
   next
   Response.Write "</table>"
End Function

%>

Conclusion :


RAS, toutes est expliqué dans les codes.

have a good luck ..., Zeb13.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
11
Date d'inscription
lundi 28 juin 2004
Statut
Membre
Dernière intervention
14 juin 2007

J'ai adapté ça tres rapidement pour mon code asp.net.
Super, merci!
Messages postés
24
Date d'inscription
samedi 26 février 2005
Statut
Membre
Dernière intervention
4 janvier 2007

merci zeb13 meme chose pour mois
Messages postés
26
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
12 avril 2006

bonne question, me suis à peine mis au .net, je ne peux pas vous être d'un grand secours à ce jour.
Messages postés
24
Date d'inscription
samedi 26 février 2005
Statut
Membre
Dernière intervention
4 janvier 2007

salut voil moi j aimerais que ce grafique soit lier a db
Messages postés
118
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
28 mars 2008

Salut Seb13,

je commence en asp.net et vb.net pourrais tu me dire comment adapter ton code poour quil fonctionne dans se language merci ..
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.