aidez moi à faire une macro sous visual basic :-((((((((((((

aidez moi à faire une macro sous visual basic :-(((((((((((( - VB/VBA/VBS - Programmation

Marsh Posté le 29-04-2002 à 14:40:50    

donc j'ai un tableau avec dans la première colonne des profondeurs, et dans les colonnes d'après j'ai les mesures d'humidités faite à plusieurs dates (donc plusieurs colonnes)
j'ai fait des courbes (profondeur/humidité) et je dois calculer l'aire entre les deux courbes (en fait ya plein de courbes et je fais des calculs d'aires en en choississant 2)
 
AIDEZ-moi please :jap: je sais vraiment po comment m'y prendre, on m'a coller sur visual basic alors que je m'y connais même pas!!! I need your help
 
ps: voila le peu que j'ai fais, mais ya encore aucun calcul la dedans !
 
Sub variations_de_stock()
'
' variations_de_stock Macro
' calcul des variations de stock par période de temps
'
'
Const nombre_de_dates_de_mesure = 7
Const nombre_de_mesure_en_profondeur = 15
 
Dim tableau(1 To nombre_de_mesure_en_profondeur, 1 To nombre_de_dates_de_mesure) As Double
Dim profondeur As Integer
Dim humidite As Integer
For profondeur = 1 To nombre_de_mesure_en_profondeur
For humidite = 1 To 3
tableau(profondeur, humidite) = Cells(profondeur + 3, humidite + 4).Value
 
Next humidite
Next profondeur
 
End Sub

 
si je suis pas clair demander des précisions.....


---------------
i'am just a geo-logue  
Reply

Marsh Posté le 29-04-2002 à 14:40:50   

Reply

Marsh Posté le 29-04-2002 à 15:40:28    

Fait péter un screenshot de tes tableaux, un de ta courbe et enfin un exemple de formule arithmétique pour calculer l'aire entre 2 courbe stp.

Reply

Marsh Posté le 29-04-2002 à 17:41:34    

http://opengeol.multimania.com/perso/tablo.jpg
http://opengeol.multimania.com/perso/graph.jpg
 
et la formule arithmétique : 1/2.somme(xi+1 - xi-1)yi
 
j'en suis la (avec de l'aide) et ça bloque  
Sub variations_de_stock()
'
' variations_de_stock Macro
' calcul des variations de stock par période de temps
'
'
Const Feuille_Lect = "DB"
Const Feuille_Ecrire_1 = "aires"
Const nombre_de_dates_de_mesure = 7
Const nombre_de_mesure_en_profondeur = 15
 
Dim tableau(1 To nombre_de_mesure_en_profondeur, 1 To nombre_de_dates_de_mesure) As Double
Dim profondeur As Integer
Dim humidite As Integer
Dim aires As Variant
 
Sheets(Feuille_Lect).Select
For profondeur = 1 To nombre_de_mesure_en_profondeur
For humidite = 1 To nombre_de_dates_de_mesure
tableau(profondeur, humidite) = Cells(profondeur + 3, humidite + 3).Value
Next
Next
 
For profondeur = 0 To UBound(tableau)
For humidite = 0 To UBound(tableau)
ici ça bloqueaires = aires + (tableau((profondeur), (humidite + 1)) - tableau((profondeur), (humidite - 1))) * tableau((profondeur + 1), (humidite)) / 2
Next
Next
 
 
Sheets(Feuille_Ecrire_1).Select
For profondeur = 1 To nombre_de_mesure_en_profondeur
For humidite = 1 To nombre_de_dates_de_mesure
 
Cells(profondeur, humidite).Value = aires(profondeur, humidite)
 
Next
Next
 
 
End Sub

 

[jfdsdjhfuetppo]--Message édité par opengeol le 29-04-2002 à 17:44:31--[/jfdsdjhfuetppo]


---------------
i'am just a geo-logue  
Reply

Marsh Posté le 29-04-2002 à 19:24:21    

:sweat:


---------------
i'am just a geo-logue  
Reply

Marsh Posté le 29-04-2002 à 19:33:54    

opengeol a écrit a écrit :

 
 
For profondeur = 0 To UBound(tableau,1)
For humidite = 0 To UBound(tableau,2)
ici ça bloqueaires = aires + (tableau((profondeur), (humidite + 1)) - tableau((profondeur), (humidite - 1))) * tableau((profondeur + 1), (humidite)) / 2
Next
Next




 
avec les modifs en rouge, ça devrait marcher.
 
Regarde l'aide de VB à propose de Ubound pour plus d'infos.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 29-04-2002 à 19:55:44    

modif en rouge faites
mais ça bloque tjs au même endroit
c chiant ce truc! :sweat:


---------------
i'am just a geo-logue  
Reply

Marsh Posté le 30-04-2002 à 20:45:35    

:sweat:


---------------
i'am just a geo-logue  
Reply

Marsh Posté le 01-05-2002 à 13:20:41    

:bounce: si personne ne sait d'ici demain je ferai pu de up, promi :D


---------------
i'am just a geo-logue  
Reply

Marsh Posté le 06-05-2002 à 00:44:27    

Si t'as pas trouvé, envoie-moi ta feuille, je vais y jeter un oeil.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 07-05-2002 à 20:44:00    

For profondeur = 0 To UBound(tableau)  
For humidite = 0 To UBound(tableau)  
ici ça bloqueaires = aires + (tableau((profondeur), (humidite + 1)) - tableau((profondeur), (humidite - 1))) * tableau((profondeur + 1)((, (humidite)) / 2  
Next  
Next  
 
je pense avoir trouvé :
For profondeur = 0 To UBound(tableau)  
en mettant profondeur +1,kan t enfin de tableau(ubound(tableau)), ca doit foirer kar profondeur et en dehors de la limite du tableau !t'as meme pas un emssage d'erreur?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed