Afficher les calculs d'une boucle dans une colonne

Fermé
slipman25190 Messages postés 20 Date d'inscription dimanche 26 avril 2015 Statut Membre Dernière intervention 14 février 2018 - 19 oct. 2017 à 19:52
slipman25190 Messages postés 20 Date d'inscription dimanche 26 avril 2015 Statut Membre Dernière intervention 14 février 2018 - 23 oct. 2017 à 18:35
Bonjour,

Je suis débutant avec le langage macro (VBA) de Excel et je sollicite votre aide parce que je n'arrive pas à réaliser se que je souhaite, je m'explique :

J'ai réalisé une fonction qui calcul la somme d'une équation de 0 à n-1.
je voudrais pouvoir afficher tous les résultats et non que le résultat final dans une colonne du tableur par exemple :

Colone A
Résultat calcul pour n=0
Résultat calcul pour n=1
...................
Résultat calcul pour n=n-1

Voici également un extrait de ma fonction :

Function SOMMETK(a, n, Te)
For k = 0 To n - 1
SOMMETK = SOMMETK + (a + k * Te)
Next k
End Function

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
19 oct. 2017 à 20:01
Bonjour,

Par exemple en A1 :
=sommetk(18;LIGNES($1:1)-1;2)
à tirer vers le bas
1
slipman25190 Messages postés 20 Date d'inscription dimanche 26 avril 2015 Statut Membre Dernière intervention 14 février 2018
19 oct. 2017 à 20:37
Merci pour votre réponse, cela fonctionne très bien !
Cependant n'y a t-il pas qqc de plus automatique ? ou est-ce trop complexe ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
19 oct. 2017 à 21:04
« Cependant n'y a t-il pas qqc de plus automatique ? ou est-ce trop complexe ? » i.e ???
0
slipman25190 Messages postés 20 Date d'inscription dimanche 26 avril 2015 Statut Membre Dernière intervention 14 février 2018
19 oct. 2017 à 21:11
Une ligne à rentré dans ma macro pour éviter d'étendre ou de supprimer des cellules dès que n varie
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 19 oct. 2017 à 22:39
Ta macro est une fonction, il très fortement déconseillé d'utiliser cette fonction pour écrire dans des cellules. Gardes lui son rôle de fonction !
Tu peux utiliser une procédure pour appliquer ta fonction à certaines cellules :
Option Explicit
Sub Etendre()
Dim col As Range
Dim a As Double
Dim n As Long
Dim Te As Double
Dim i As Long
  'Initialisation des variables
  a = 18
  n = 12
  Te = 2
  Set col = ActiveSheet.Columns("A")
  'Effacement des résultats précédents
  col.Clear
  'Mise en place des résultats
  For i = 0 To n - 1
    col.Cells(i + 1, 1).Value = SOMMETK(a, i, Te)
  Next i
End Sub

Function SOMMETK(a, n, Te)
Dim k as long
  For k = 0 To n - 1
    SOMMETK = SOMMETK + (a + k * Te)
  Next k
End Function
0
slipman25190 Messages postés 20 Date d'inscription dimanche 26 avril 2015 Statut Membre Dernière intervention 14 février 2018 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
23 oct. 2017 à 18:35
Merci c'est super !
0