begin process at 2010 02 10 11:54:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > GRAPHIQUE EN BARRES (FAÇON EXCEL)

GRAPHIQUE EN BARRES (FAÇON EXCEL)


 Information sur la source

Note :
9,13 / 10 - par 8 personnes
9,13 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Débutant Date de création :24/10/2003 Vu / téléchargé :12 374 / 669

Auteur : zeb13

Ecrire un message privé
Site perso
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • <%
  • ' === 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
  • %>
<%

' === 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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source .NET (Dotnet) CONNEXION SQL SERVEUR + LISTBOX
Source avec une capture VML/ASP : GÉNÉRATION D'UNE COURBE DE DROITES
Source avec une capture SUPPRESSION DES BALISES HTML
CRÉATION D'UN DOCUMENT WORD SANS WORD SUR LE SERVEUR

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CLASS CHARTS, HISTOGRAMCHART ET SECTORCHART par The Red Man
EXTRACTION D'INFORMATIONS IPTC D'UNE IMAGE par teenage
Source avec Zip Source avec une capture Source .NET (Dotnet) MANIPULATION D'IMAGES EN TEMPS RÉEL - RÉDUCTION COMPRESSION ... par badrbadr
Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION D’AJAX ET D’UN WEBSERVICE POUR LA GÉNÉRATION D’I... par tikrimi
REDIMENSIONNER UNE IMAGE - ASPIMAGE par Keneyda

Commentaires et avis

Commentaire de Jackboy le 24/10/2003 15:27:55

un petit qqchose qui n'a pas de lien avec cette source, ton site web a un erreur dans le front !

Commentaire de fabrice69 le 24/10/2003 19:45:52 administrateur CS

Pas mal comme code.
Il est très utile de pouvoir afficher sous cette forme des informations chiffrées, les graphiques frappent toujours mieu à l'oeil que les valeurs.
Très bonne idée.

F___

Commentaire de Oscar le 24/10/2003 22:23:23

Sympa, simple et efficace !

Perso, j'avais pensé faire ça avec une petite image GIF représentant 10% du total qui se serait multipliée selon un arrondi, ça aurait eu l'avantage de pouvoir séparer les dizaines de pourcent, en revanche, ça aurait été beaucoup plus lourd à gérer et beaucoup moins précis.

Pas besoin tout de suite, mais je note l'idée !
Merci beaucoup.

Commentaire de ThunderPsycho le 26/10/2003 02:47:16

Pas mal, bonne idée... 9/10

Commentaire de laspirant le 01/11/2003 15:19:24

je penche plus pour la solution d'Oscar, en y mettant un bémole toutes fois. comme on a  le nb d'occurences, on a aussi le total donc on calcule le pourcentage de chaque occurence par rapport au total et on passe le pourcentage comme taille du gif de la couleur choisi comme ça, on est quasiment toujours certain que l'on reste clean à l'affichage.

Commentaire de zeb13 le 04/11/2003 00:11:50

ben je vois pas la différence puisqu'en réalité je me sers de la valeur max que je rapporte à chaque valeur et le tout dans une largeur de tableau au lieu d'une image que l'on étire. Tu remplaces le dimensionnement du tab par ton image et le rendu est le même. La largeur de ton tableau est définie au démarrage, l'image sera donc toujours en relation à cette largeur.

Commentaire de laspirant le 06/11/2003 06:03:17

c'est vrai,  ton idèe est bonne de toutes façons.
9/10

Commentaire de zeb13 le 19/01/2004 23:44:45

voilà une fonction pour afficher la même chose à la verticale, à la demande de Flo :

Function trace_graphe2
   Response.Write "&lt;br&gt;&lt;table align=center height="& hauteur_tab &" border=1 cellpadding=0 cellspacing=0&gt;"
   Response.Write "&lt;tr valign=bottom&gt;"
   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 "&lt;td width=20 align=center&gt;"&_
"&lt;table width=10 border=0 cellpadding=0 cellspacing=0&gt;" &_
"&lt;tr bgcolor='#"& clr_cel &"'&gt;"&_
"&lt;td&gt;&lt;img src='vide.gif' width='20' height='"& Cint(hauteur_tab*(tab_achats(i,2)/ttl_max)) &"' border=0 alt='"& FormatNumber(tab_achats(i,2),2) &" ?'&gt;&lt;/td&gt;"&_
"&lt;td bgcolor=white&gt;&lt;img src='vide.gif' width='20' border=0&gt;&lt;/td&gt;"&_
"&lt;/tr&gt;" &_
"&lt;/table&gt;" &_
"&lt;/td&gt;"
   next
   Response.Write "&lt;/tr&gt;"
   Response.Write "&lt;/table&gt;"
End Function

Commentaire de Nightcourrier le 10/12/2004 17:55:33

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 ..

Commentaire de caposoprano le 09/04/2005 14:20:06

salut voil moi j aimerais que ce grafique soit lier a db

Commentaire de zeb13 le 11/04/2005 10:22:41

bonne question, me suis à peine mis au .net, je ne peux pas vous être d'un grand secours à ce jour.

Commentaire de caposoprano le 13/04/2005 01:34:14

merci zeb13 meme chose pour mois

Commentaire de nicolastar666 le 20/06/2005 18:22:55

J'ai adapté ça tres rapidement pour mon code asp.net.
Super, merci!

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales