Macro remplissage automatique valeurs tableau

Bonjour à tous

J'ai créé un classeur Excel pour mon stage qui permet d'étudier des variations de volume en fonction du temps.

Par souci de confidentialité, je n'en dirais pas plus sur ce à quoi il sert et est utile.

Côté contenu :

1) Onglet Feuille_entree : boutons de commande pour pouvoir saisir des données d'entrée et un tableau pour créer des variations de niveau

2) Onglet Resultats : très grand tableau de valeurs qui se remplit automatiquement à l'aide du bouton GO

Tout marche très bien sauf pour la macro du bouton GO.

Démarche adoptée pour remplir le tableau en Resultats : la ligne 3 est dèja remplie avec les données d'entrée

1er noeud : 0 s et 35 m3

2ème noeud : 30 s et 35 m3

Pas de temps dt : 0,25 s

Volume (noeud1) = volume (noeud2) donc le volume reste constant de 0 à 30 s

Calcul du nb_intervalles (nb de lignes dont Excel a besoin) = temps (noeud2) - temps (noeud1) /dt = 30 - 0 / 0,25 = 120 lignes

Macro bouton GO : OK (le temps s'arrête bien à 30 s et le volume est bien resté à 35 m3 en partant de la dernière ligne remplie +1, soit la ligne 4)

2ème noeud : 30 s et 35 m3

3ème noeud : 60 s et 32 m3

Pas de temps dt = 0,25 s

Volume (noeud1) >volume (noeud2) donc on est sur une baisse mais on ne connait le volume dv qui va être enlevé à chaque ligne pour passer de 35 à 32 m3.

Calcul du nb_intervalles = temps (noeud2) - temps (noeud1) /dt = 60 - 30 / 0,25 = 120 lignes

dv = volume (noeud2) - volume (noeud1) / nb_intervalles = 32 - 35 / 120 = - 0,025 m3

C'est là que j'ai un problème dans la macro du bouton Go : dans le cas d'une baisse, la boucle s'arrête trop tôt car le calcul se fait par itération sur plusieurs lignes avec le même temps et le même volume. Et je ne peux pas savoir dès le départ combien de lignes je vais avoir en plus.

Je me suis donc dit : en colonne A onglet Resultats, si le temps à la ligne i - 1 est égal au temps en i, soit il réajuste nb_intervalles, càd faire en quelque sorte nb_intervalles = nb_intervalles +1 ou il écrit sur la même ligne tant qu'il y a la même temps et le même volume pour ne pas avoir à changer nb_intervalles.

Je tourne en rond sur ce code depuis plusieurs jours, c'est pourquoi je demande un peu d'aide. Je pense que c'est sur la boucle for avec toutes les formules et Dlig1 et i....

Je précise que je viens de commencer à coder sur VBA que depuis 2 semaines et que mon code n'est certainement pas très"propre".

Je vous joints évidemment mon fichier pour que vous puissiez regarder.

https://www.cjoint.com/c/GHhi6HpOefA

Merci d'avance.

Cordialement

Romhin

Rechercher des sujets similaires à "macro remplissage automatique valeurs tableau"