aidez moi à faire une macro sous visual basic :-(((((((((((( - VB/VBA/VBS - Programmation
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.
Marsh Posté le 29-04-2002 à 17:41:34
 
  
 
 
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]
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. 
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!  
 
Marsh Posté le 01-05-2002 à 13:20:41
 si personne ne sait d'ici demain je ferai pu de up, promi
 si personne ne sait d'ici demain je ferai pu de up, promi  
 
Marsh Posté le 06-05-2002 à 00:44:27
Si t'as pas trouvé, envoie-moi ta feuille, je vais y jeter un oeil.
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? 
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)
 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
 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 
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
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