/ / Moyenne mobile dans Excel VBA

Moyenne glissante dans Excel VBA

Ci-dessous, nous examinerons un programme en Excel VBA qui crée un table moyenne glissante. Placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante:

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

Cette ligne de code entre un nombre aléatoire compris entre 0et 100 dans la cellule B3. Nous voulons qu'Excel VBA prenne la nouvelle valeur du stock et la place en première position du tableau des moyennes mobiles. Toutes les autres valeurs doivent descendre d'une place et la dernière valeur doit être supprimée.

Tableau de roulement moyen dans Excel VBA

Tableau de roulement moyen dans Excel VBA

Créez un événement de changement de feuille de calcul. Le code ajouté à l'événement Modification de la feuille de calcul sera exécuté par Excel VBA lorsque vous modifiez une cellule dans une feuille de calcul.

1. Ouvrez Visual Basic Editor.

2. Double-cliquez sur Sheet1 (Sheet1) dans l'Explorateur de projets.

3. Choisissez Feuille de travail dans la liste déroulante de gauche. Choisissez Modifier dans la liste déroulante de droite.

Événement de changement de feuille de calcul dans Excel VBA

Ajoutez les lignes de code suivantes à l'événement de changement de feuille de calcul:

4. Déclarez une variable appelée newvalue de type Integer et deux plages (firstfourvalues ​​et lastfourvalues).

Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range

5. L'événement de changement de feuille de calcul écoute toutes les modifications de la feuille Sheet1. Nous voulons seulement qu'Excel VBA agisse si quelque chose change dans la cellule B3. Pour ce faire, ajoutez la ligne de code suivante:

If Target.Address = "$B$3" Then

6. Nous initialisons newvalue avec la valeur de la cellule B3, firstfourvalues ​​with Range ("D3: D6") et lastfourvalues ​​with Range ("D4: D7").

newvalue = Range("B3").Value
Set firstfourvalues = Range("D3:D6")
Set lastfourvalues = Range("D4:D7")

7. Maintenant vient le truc simple. Nous voulons mettre à jour le tableau des moyennes mobiles. Vous pouvez y parvenir en remplaçant les quatre dernières valeurs par les quatre premières du tableau et en plaçant la nouvelle valeur de stock à la première position.

lastfourvalues.Value = firstfourvalues.Value
Range("D3").Value = newvalue

8. N’oubliez pas de fermer la déclaration if.

End if

9. Enfin, entrez la formule = MOYENNE (D3: D7) dans la cellule D8.

10. Testez le programme en cliquant sur le bouton de commande.

Lisez aussi: