fonction qui renvoie un tableau de données - VB/VBA/VBS - Programmation
MarshPosté le 24-04-2005 à 00:44:50
Bonjour,
Je me permets de déposer un message sur le forum car cela fait trois jours que je cherche à:
1- créer une fonction qui me permettrait de renvoyer un tableau de valeurs 2- Créer une procédure qui va m'afficher toute ces valeurs dans une nouvelle feuille excel
et ca ne marche pas
voici la fonction qui doit renvoyer Ttab (mais je ne sais pas ce qu'il renvoit réellemet)
Function Get_champs(Data_Sheet_Name As String, Variable_Name1 As String, Variable_Name2 As String, Variable_Name3 As String) As Double
' Définition des variables Dim Variable_Index1, Variable_Index2, Variable_Index3 As Integer Dim Alt_gdt, lat_gdt, long_gdt As Double Dim x_av, y_av, z_av As Double Dim x_gdt, y_gdt, z_gdt As Double Dim Feuille As String Dim Object As Double
Dim dist_av_gdt As Double Dim GDT, I As Integer Dim Msg_OK As String Dim Ttab(1 To 70000) As Object
' détermination de l'indice de colonne des Variable_Name Variable_Index1 = Get_indice(Variable_Name1, i_ligne_var) Variable_Index2 = Get_indice(Variable_Name2, i_ligne_var) Variable_Index3 = Get_indice(Variable_Name3, i_ligne_var)
'For i = 1 To i = i_fin_vol Set Ttab(I) = Sheets(Feuille).Range(Cells(I, 1), Cells(70000, 1)) 'Next i
'Initialisation des variables GDT = 0 dist_av_gdt = 0
If (GDT = 0) Then 'mourmelon lat_gdt = 49.06301 long_gdt = 4.22196 Alt_gdt = 127 End If
'If (GDT = 1) Then ' st brice 'lat_dgt= 'long_gdt= 'alt_gdt= 'End If
If (i_debut_vol < i_fin_vol) Then
For I = i_debut_vol To i_fin_vol
'calculer la position de l'avion dans le référentiel cartésien
Marsh Posté le 24-04-2005 à 00:44:50
Bonjour,
Je me permets de déposer un message sur le forum car cela fait trois jours que je cherche à:
1- créer une fonction qui me permettrait de renvoyer un tableau de valeurs
2- Créer une procédure qui va m'afficher toute ces valeurs dans une nouvelle feuille excel
et ca ne marche pas
voici la fonction qui doit renvoyer Ttab (mais je ne sais pas ce qu'il renvoit réellemet)
Function Get_champs(Data_Sheet_Name As String, Variable_Name1 As String, Variable_Name2 As String, Variable_Name3 As String) As Double
' Définition des variables
Dim Variable_Index1, Variable_Index2, Variable_Index3 As Integer
Dim Alt_gdt, lat_gdt, long_gdt As Double
Dim x_av, y_av, z_av As Double
Dim x_gdt, y_gdt, z_gdt As Double
Dim Feuille As String
Dim Object As Double
Dim dist_av_gdt As Double
Dim GDT, I As Integer
Dim Msg_OK As String
Dim Ttab(1 To 70000) As Object
' détermination de l'indice de colonne des Variable_Name
Variable_Index1 = Get_indice(Variable_Name1, i_ligne_var)
Variable_Index2 = Get_indice(Variable_Name2, i_ligne_var)
Variable_Index3 = Get_indice(Variable_Name3, i_ligne_var)
'For i = 1 To i = i_fin_vol
Set Ttab(I) = Sheets(Feuille).Range(Cells(I, 1), Cells(70000, 1))
'Next i
'Initialisation des variables
GDT = 0
dist_av_gdt = 0
If (GDT = 0) Then 'mourmelon
lat_gdt = 49.06301
long_gdt = 4.22196
Alt_gdt = 127
End If
'If (GDT = 1) Then ' st brice
'lat_dgt=
'long_gdt=
'alt_gdt=
'End If
If (i_debut_vol < i_fin_vol) Then
For I = i_debut_vol To i_fin_vol
'calculer la position de l'avion dans le référentiel cartésien
x_av = (Cells(I, Variable_Index1).Value + Rayon_terre) * Cos(Cells(I, Variable_Index2).Value * pi / 180) * Cos(Cells(I, Variable_Index3).Value * pi / 180)
y_av = (Cells(I, Variable_Index1).Value + Rayon_terre) * Cos(Cells(I, Variable_Index2).Value * pi / 180) * Sin(Cells(I, Variable_Index3).Value * pi / 180)
z_av = (Cells(I, Variable_Index1).Value + Rayon_terre) * Sin(Cells(I, Variable_Index2).Value * pi / 180)
'calculer la position du GDT dans le référentiel cartésien
x_gdt = (Alt_gdt + Rayon_terre) * Cos(lat_gdt * pi / 180) * Cos(long_gdt * pi / 180)
y_gdt = (Alt_gdt + Rayon_terre) * Cos(lat_gdt * pi / 180) * Sin(long_gdt * pi / 180)
z_gdt = (Alt_gdt + Rayon_terre) * Sin(lat_gdt * pi / 180)
'calculer la distance relative entre l'avion et le GDT
dist_av_gdt = Sqr((x_av - x_gdt) ^ 2 + (y_av - y_gdt) ^ 2 + (z_av - z_gdt) ^ 2)
'calculer le champs reçu à partir de la formule de la spec
Ttab(I) = 20 * Log(0.9 / (4 * pi * dist_av_gdt)) + 41
Next I
Get_champs = Ttab
End If
End Function
et je ne sais pas comment faire pour afficher le contenu du tableau Ttab dans une nouvelle feuille excel...
Quelqu'un pourrait-il m'aider?
Merci d'avance