Manipulation de variable tableau

  • Initiateur de la discussion Initiateur de la discussion golzag
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

golzag

XLDnaute Nouveau
Bonjour à tous,
Je commence à essayer d'utiliser les variables tableaux pour gagner en performance, mais j'ai des trucs un peu bizarre.

Pour me familiariser avec l'utilisation de tableau j'affiche les valeurs stockées mais il m'affiche des valeurs arrondies ? Est-ce que quelqu'un à deja eu ce problème ?

Je vous mets le fichier joint en exemple. C'est la Macro_5

Autre question:

est-ce qu'il est possible de faire des calculs de type moyenne sur des colonnes du tableau ? est-ce qu'il y a des fonctions raccourcis pour ce type de manip ?

Merci d'avance
 

Pièces jointes

Re : Manipulation de variable tableau

Merci,
Je ne mettais pas rendu compte.

Autre question dans la cas d'un calcul de moyenne :

sachant que a est un tableau en 2D (10 lignes , 2 colonnes)

comment déclarer pour avoir la moyenne seulement de la colonne 1 ?

z = Application.WorksheetFunction.Average(a(.....)


MErci d'avance
 
Re : Manipulation de variable tableau

Bonjour,
je ferai quelque chose comme cela
Code:
Sub Macro5()
    Dim a(1 To 30, 1 To 2)
    Dim Temp As Double
    'Remplissage du tableau
    j = 2:    g = 6
    For Z = 1 To 2
        For i = 1 To 30
            a(i, Z) = Sheets("Feuil1").Cells(i + 8, j + Z).Value
        Next i
        If Z = 1 Then MsgBox "The average is " & Application.Average(a)
        Valeur = 0
    Next Z
End Sub
Par contre si je veux afficher la moyenne de la deuxième colonne, il faut faire une seconde boucle et ne plus mettre For Z= 1 to 2.
Je n'ai trouvé d'autre astuce.
 
Re : Manipulation de variable tableau

Bonjour,
Oui j'ai testé.
Et dans ce cas tu peux avoir la moyenne pour chaque colonne
Code:
Sub Macro5()
    Dim a(1 To 30, 1 To 2)
    Dim Temp As Double
    'Remplissage du tableau
    j = 2: G = 6
    For Z = 1 To 2
        For i = 1 To 30
            a(i, Z) = Sheets("Feuil1").Cells(i + 8, j + Z).Value
        Next i
        MsgBox Application.Average(Application.Index(a, , Z))
    Next Z
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
420
Réponses
3
Affichages
817
Retour