Faire une boucle dans VBA

Une boucle Do VBA est une sous-section dans une macro Macros VBA La configuration des macros dans Excel VBA est assez simple. La structure des macros Excel VBA implique de commencer par une ligne sub () avant de commencer le code de macro. Les macros utilisent l'application Visual Basic dans Excel pour créer des fonctions personnalisées générées par l'utilisateur et accélérer les tâches manuelles en créant des processus automatisés. qui «boucle» ou se répète jusqu'à ce que certains critères spécifiques soient satisfaits. Le codeur peut régler la boucle pour qu'elle se répète un nombre spécifié de fois jusqu'à ce qu'une certaine variable dépasse une valeur de seuil ou jusqu'à ce qu'une cellule spécifique soit activée. En fait, les boucles sont assez robustes dans la mesure où l'utilisateur peut faire preuve de créativité avec les critères qui terminent la boucle, tant qu'il comprend le fonctionnement des boucles VBA.Cela peut devenir très utile pour créer un modèle financier. Qu'est-ce que la modélisation financière La modélisation financière est effectuée dans Excel pour prévoir les performances financières d'une entreprise. Aperçu de ce qu'est la modélisation financière, comment et pourquoi construire un modèle. plus efficace.

Une instruction Do Loop aura une instruction de début et une instruction de fin, le code à exécuter étant contenu dans ces deux instructions. Cela ressemble à la structure d'une macro, où l'intégralité d'un code de macro est conservée dans l'instruction Sub qui démarre une macro et l'instruction End Sub qui la termine. Les macros peuvent contenir plusieurs boucles distinctes et les boucles peuvent contenir des boucles en elles-mêmes, indéfiniment.

Pour en savoir plus, lancez notre cours de modélisation financière Excel VBA en ligne!

Différents types de boucles

Il existe plusieurs types de boucles et chaque type fonctionne différemment.

  • Faire jusqu'à la boucle
  • Faire une boucle
  • Boucle For VBA Boucle For Dans une boucle For VBA, le processus se répétera un certain nombre de fois jusqu'à ce que les critères soient remplis. Les boucles For VBA sont moins dynamiques que les boucles Do. Exemples, guide. Les critères dépendent du type de boucle utilisée. Les boucles commencent généralement par une déclaration spécifique décrivant de quel type de boucle il s'agit. Cela se terminera par une déclaration

Faire jusqu'à la boucle

La boucle Do Until continuera à se répéter jusqu'à ce que le critère soit vrai. Le critère est inséré juste après l'instruction «faire jusqu'à». La boucle se termine par l'instruction «Loop». Un exemple simple de cette boucle consiste à augmenter un compteur jusqu'à ce qu'il atteigne un nombre spécifié, comme dans l'exemple ci-dessous.

Dim n comme Integer

N = 0

Faire jusqu'à n = 10

n = n + 1

Boucle

Dans cet exemple, nous avons défini une variable entière appelée «n». La macro stocke initialement une valeur de 0 dans n. Lorsqu'il s'exécute dans la boucle Do Until, le critère n = 10 n'est pas vrai, donc le processus dans la boucle est exécuté. La première itération ajoute 1 à n, transformant la valeur en 1. Comme n n'est toujours pas 10, le processus se répétera 10 fois, jusqu'à ce que n soit 10. Une fois n = 10, la macro passera la boucle et continuera avec le reste de la macro.

Ce type de boucle utilisant un entier est utile pour exécuter un processus un nombre spécifié de fois. Par exemple, vous souhaiterez peut-être remplir les dix premières lignes de la colonne A avec le texte «Société n». Cela se fait comme suit:

Dim n comme Integer

N = 0

Faire jusqu'à n = 10

n = n + 1

Plage ("A" & n) .Valeur = "Société" & n

Boucle

L'exécution de cette macro remplira la cellule A1 avec la société 1, la cellule A2 avec la société 2, etc. terminer la boucle et continuer.

Boucle VBA Do

Pour en savoir plus, lancez notre cours de modélisation financière Excel VBA en ligne!

Faire une boucle

Contrairement à la boucle faire jusqu'à, la boucle Do While effectuera la boucle jusqu'à ce que les critères deviennent faux. En d'autres termes, le Do Loop fonctionnera tant que les critères sont remplis. Cela semble être l'exact opposé de la boucle do until. Si nous devions utiliser exactement le même exemple de macro ci-dessus, mais remplacer do until par do while, la macro sautera simplement la boucle. Ceci est dû au fait que n vaut 0 au début du processus et que la boucle ne fonctionnera que pendant que n = 10. Puisque n ne peut atteindre que 10 à travers le processus de boucle, il ne peut jamais atteindre 10, et donc la boucle sera sautée.

Au lieu de cela, pour effectuer le même processus dans la boucle do while, nous devrions utiliser une inégalité.

Dim n comme Integer

N = 0

Faire pendant que n <11

n = n + 1

Plage ("A" & n) .Valeur = "Société" & n

Boucle

Notez que l'inégalité utilise 11 au lieu de 10. En effet, la macro doit s'exécuter jusqu'à ce qu'elle atteigne la société 10. Si le critère de boucle était défini sur n <10, la boucle se terminerait à la société 9 car elle ne fonctionnera que lorsque n est moins de 10. Puisque 10 n'est pas inférieur à 10, il se terminera juste avant d'atteindre la société 10.

Exemple de Do Loop

Critères multiples utilisant AND et OR avec Do Loop

Avec ces boucles, vous pouvez également inclure plusieurs critères en incluant deux expressions séparées par l'opérateur AND ou OR. Ces opérateurs sont assez explicites.

Une boucle do until avec deux critères séparés par AND fonctionnera jusqu'à ce que les deux critères soient satisfaits. Une boucle do until avec deux critères séparés par OR fonctionnera jusqu'à ce que l'un ou l'autre des critères soit satisfait.

Une boucle do while avec deux critères AND fonctionnera tant que les deux critères sont satisfaits.

Une boucle do while avec deux critères OR fonctionnera tant qu'au moins un des critères est satisfait.

L'utilisation de plusieurs critères peut devenir très importante dans la modélisation financière. Par exemple, un utilisateur peut exiger que deux ratios de levier Ratios de levier Un ratio de levier indique le niveau d'endettement contracté par une entité commerciale par rapport à plusieurs autres comptes dans son bilan, son compte de résultat ou son tableau des flux de trésorerie. Les modèles Excel dépassent certaines valeurs avant l'exécution d'une certaine macro.

Critères non numériques dans la boucle Do

Dans une boucle For, le processus ci-dessus peut en fait être simplifié. La boucle for VBA For Loop Dans une VBA For Loop, le processus se répétera un certain nombre de fois jusqu'à ce que les critères soient remplis. Les boucles For VBA sont moins dynamiques que les boucles Do. Exemples, guide. Les critères dépendent du type de boucle utilisée. Les boucles commencent généralement par une déclaration spécifique décrivant de quel type de boucle il s'agit. Il se terminera par une instruction qui a l'avantage sur les boucles do car il crée automatiquement une variable à la place de n en une seule étape. Cependant, les boucles do ont certains avantages par rapport aux boucles for.

Alors que les boucles for ne peuvent généralement être utilisées qu'avec des variables numériques, les boucles do peuvent avoir des critères qui utilisent d'autres types de données, comme des chaînes et des dates. Une boucle do peut être définie pour s'exécuter uniquement jusqu'à l'arrivée de certaines données. Par exemple, l'utilisateur aimerait peut-être que la macro ne s'exécute que pour l'année 2017 et ne s'exécute pas lorsque l'année passe. Cela peut être accompli avec une variable de date et en définissant les critères comme Do Until [DateVariable] = 1/1/2018.

Peut-être que l'utilisateur aimerait plutôt que la macro ne s'exécute que lorsqu'une certaine cellule est vide et ne s'exécute pas lorsque cette cellule est remplie. Ceci peut être accompli avec les critères comme Do Until Range ("A5"). Value = "". Le «» fait référence à une cellule vide. Remarque: une cellule contenant un espace peut sembler vide, mais n'est pas considérée comme une cellule vide par VBA Excel VBA VBA signifie Visual Basic pour Applications. Excel VBA est le langage de programmation de Microsoft pour Excel et tous les autres programmes Microsoft Office, tels que Word et PowerPoint. Les programmes de la suite Office partagent tous un langage de programmation commun. .

Pour en savoir plus, lancez notre cours de modélisation financière Excel VBA en ligne!

Ressources supplémentaires

Merci d'avoir lu ce guide Finance sur la création d'une boucle Do dans VBA. Pour continuer à améliorer vos compétences en modélisation financière, ces ressources financières supplémentaires vous seront utiles:

  • Exemple VBA Excel Exemples Excel VBA Excel VBA permet à l'utilisateur de créer des macros qui automatisent les processus dans Excel. Ce guide utilisera des exemples Excel VBA pour montrer comment enregistrer une macro en configurant la macro, comment déclarer des variables et comment référencer des données.
  • VBA If Else VBA If Else La création d'une instruction VBA If Else est assez similaire à la création d'une formule if imbriquée dans Excel. L'avantage d'utiliser VBA à la place est qu'il est beaucoup plus facile à suivre, car les IF imbriquées ont tendance à se compliquer avec plusieurs parenthèses. Dans une instruction VBA if, chaque clause IF est distincte de l'autre et est à la place disposée par ordre de priorité
  • Méthodes VBA Méthodes VBA Une méthode VBA est un morceau de code attaché à un objet VBA, une variable ou une référence de données qui indique à Excel quelle action effectuer par rapport à cet objet. Copier, coller et sélectionner ne sont que quelques exemples de méthodes VBA pouvant être effectuées.
  • Formules Excel avancées Les formules Excel avancées doivent être connues Ces formules Excel avancées sont essentielles à connaître et feront passer vos compétences en analyse financière au niveau supérieur. Fonctions Excel avancées que vous devez connaître. Découvrez les 10 meilleures formules Excel que chaque analyste financier de classe mondiale utilise régulièrement. Ces compétences amélioreront votre travail de feuille de calcul dans n'importe quelle carrière

Recommandé

Que sont les assertions dans l'audit?
Qu'est-ce que Sweat Equity?
Qu'est-ce que le leadership adaptatif?