Accueil Médias sociaux Comment utiliser le For-Next boucles dans Excel 2016 VBA - mannequins

Comment utiliser le For-Next boucles dans Excel 2016 VBA - mannequins

Table des matières:

Vidéo: Boucles For Next en VBA Excel pour traitements automatisés 2025

Vidéo: Boucles For Next en VBA Excel pour traitements automatisés 2025
Anonim

Le type de boucle le plus simple dans la programmation Excel VBA est une boucle For-Next. La boucle est contrôlée par une variable de compteur, qui commence à une valeur et s'arrête à une autre valeur. Les instructions entre l'instruction For et l'instruction Next sont les instructions répétées dans la boucle.

Un exemple For-Next

L'exemple suivant utilise une boucle For-Next pour additionner les 1 000 premiers nombres positifs. La variable Total commence par zéro. Ensuite, la boucle se produit. La variable Cnt est le compteur de boucle. Il commence par 1 et est incrémenté de 1 à chaque fois dans la boucle. La boucle se termine lorsque Cnt est 1 000.

Cet exemple n'a qu'une seule instruction à l'intérieur de la boucle. Cette instruction ajoute la valeur de Cnt à la variable Total. Lorsque la boucle se termine, un MsgBox affiche la somme des nombres.

Sous AddNumbers () Dim total As Double Dim Cnt As Long Total = 0 Pour Cnt = 1 à 1000 Total = Total + Cnt suivant Cnt MsgBox total End Sub

Parce que le compteur de boucle est une variable normale, vous pouvez écrire code pour changer sa valeur dans le bloc de code entre les instructions For et Next. Ceci, cependant, est une pratique très mauvaise .

Exemples For-Next avec une étape

Vous pouvez utiliser une valeur Step pour ignorer certaines valeurs de compteur dans une boucle For-Next. Voici l'exemple précédent, réécrite pour résumer seulement les nombres impairs entre 1 et 1, 000:

Sous AddOddNumbers () Dim total As Double Dim Cnt As Long Total = 0 Pour Cnt = 1 à 1000 Étape 2 Total = Total + Cnt Next Cnt MsgBox Total End Sub

Cette fois, Cnt commence par 1, puis prend les valeurs 3, 5, 7, et ainsi de suite. La valeur Step détermine comment le compteur est incrémenté. Notez que la valeur de boucle supérieure (1000) n'est pas réellement utilisée car la valeur la plus élevée de Cnt sera 999.

Voici un autre exemple qui utilise une valeur Step de 3. Cette procédure fonctionne avec la feuille active et applique un ombrage gris clair à chaque troisième ligne, de la ligne 1 à la ligne 100.

Sub ShadeEveryThirdRow () Dim i As Long Pour i = 1 à 100 Étape 3 Rangées (i). Intérieur. Color = RGB (200, 200, 200) Suivant i End Sub

Vérifiez le résultat de l'exécution de cette macro.

Utilisation d'une boucle pour appliquer l'ombrage d'arrière-plan aux lignes.

Un exemple For-Next avec une instruction Exit For

Une boucle For-Next peut également inclure une ou plusieurs instructions Exit For dans la boucle. Lorsque VBA rencontre cette instruction, la boucle se termine immédiatement.

L'exemple suivant illustre l'instruction Exit For. Cette routine est une procédure Function, destinée à être utilisée dans une formule de feuille de calcul.La fonction accepte un argument (une variable nommée Str) et renvoie les caractères à gauche du premier chiffre. Par exemple, si l'argument est "KBR98Z", la fonction renvoie "KBR". "

Fonction TextPart (Str) Dim i comme long TextPart =" "Pour i = 1 à Len (Str) Si IsNumeric (Mid (Str, i, 1)) puis quitte pour Else TextPart = TextPart & Mid (Str, i, 1) End If Next i End Fonction

La boucle For-Next commence par 1 et se termine par le nombre qui représente le nombre de caractères de la chaîne. Le code utilise la fonction Mid de VBA pour extraire un seul caractère dans la boucle. Si un caractère numérique est trouvé, l'instruction Exit For est exécutée et la boucle se termine prématurément.

Si le caractère n'est pas numérique, il est ajouté à la valeur renvoyée (qui est identique au nom de la fonction). La seule fois où la boucle examinera chaque caractère est si la chaîne a été transmise car l'argument ne contient aucun caractère numérique.

Exemple imbriqué For-Next

Vous pouvez avoir un nombre quelconque d'instructions dans la boucle et imbriquer des boucles For-Next dans d'autres boucles For-Next.

L'exemple suivant utilise une boucle For-Next imbriquée pour insérer des nombres aléatoires dans une plage de cellules de 12 rangées sur 5 colonnes. Notez que la routine exécute la boucle interne (la boucle avec le compteur Ligne) une fois pour chaque itération de la boucle externe (la boucle avec le compteur Col). En d'autres termes, la routine exécute l'instruction Cells (Row, Col) = Rnd 60 fois.

Ces cellules ont été remplies à l'aide d'une boucle For-Next imbriquée.
Sub FillRange () Dim Col Comme Long Dim Rang Comme Long Pour Col = 1 à 5 Pour Row = 1 à 12 Cellules (Row, Col) = Rnd Next Row Suivant Col End Sub

L'exemple suivant utilise imbriqué Pour -Les boucles suivantes pour initialiser un tableau tridimensionnel avec la valeur 100. Cette routine exécute l'instruction au milieu de toutes les boucles (l'instruction d'affectation) 1 000 fois (10 * 10 * 10), chaque fois avec une combinaison différente de valeurs pour i, j et k:

Sub NestedLoops () Dim MyArray (10, 10, 10) Dim i en tant que Dim Dim Long en Dim Dim As As Long pour i = 1 à 10 pour j = 1 à 10 Pour k = 1 à 10 MyArray (i, j, k) = 100 Suivant k Suivant j Suivant i 'D'autres instructions vont ici End Sub

Voici un dernier exemple qui utilise des boucles For-Next imbriquées, avec une valeur Step. Cette procédure crée un damier en modifiant la couleur d'arrière-plan des cellules en alternance.

Utilisation de boucles pour créer un motif en damier.

Le compteur de lignes passe de 1 à 8. Une construction If-Then détermine la structure For-Next imbriquée à utiliser. Pour les rangées impaires, le compteur Col commence par 2. Pour les rangées paires, le compteur Col commence par 1. Les deux boucles utilisent une valeur Step de 2, de sorte que les autres cellules sont affectées. Deux énoncés supplémentaires rendent les cellules carrées (comme un vrai damier).

Sous MakeCheckerboard () Dim R comme long, C comme long pour R = 1 à 8 si WorksheetFunction. IsOdd (R) Alors pour C = 2 à 8 Étape 2 Cells (R, C). Intérieur. Couleur = 255 Suivant C Sinon Pour C = 1 à 8 Étape 2 Cellules (R, C). Intérieur. Couleur = 255 Next C End Si Next R Rows ("1: 8").RowHeight = 35 colonnes ("A: H"). ColumnWidth = 6. 5 End Sub
Comment utiliser le For-Next boucles dans Excel 2016 VBA - mannequins

Le choix des éditeurs

Comment adapter les normes journalistiques aux blogs de maman - Les nuls

Comment adapter les normes journalistiques aux blogs de maman - Les nuls

Alors que les standards journalistiques sont légèrement différents Diffusion, et les organisations en ligne, ils partagent des éléments communs de véracité, la précision, l'objectivité, l'impartialité, l'équité et la responsabilité publique (c'est une citation adaptée de Wikipedia). Surtout, les standards journalistiques établissent une séparation entre les départements qui génèrent des revenus (ventes de publicité et de sponsoring) et les départements qui développent ...

Comment accepter les commentaires des membres de la communauté en ligne - mannequins

Comment accepter les commentaires des membres de la communauté en ligne - mannequins

Comme gestionnaire de communauté en ligne, vous ne pouvez pas avoir peur pour demander des commentaires parce que vous ne voulez pas entendre de mauvaises nouvelles. La réalité est qu'il n'y a pas de mauvaises réactions. Pourtant, lorsque les commentaires négatifs viennent, parfois vous ne pouvez pas vous empêcher de le prendre personnellement. Vous passez tellement de temps à cultiver votre communauté et à promouvoir ...

Comment ajouter NoFollow Tag - mannequins

Comment ajouter NoFollow Tag - mannequins

La balise NoFollow a été créée comme un moyen de divulguer aux moteurs de recherche que, bien que votre site de blogging maman ajoute un lien vers une destination particulière, il n'approuve pas le site de destination. Initialement utilisé pour les commentaires de blog pour lutter contre les spams de commentaires, il protégeait les blogs de se connecter par inadvertance aux ...

Le choix des éditeurs

Ce qu'il faut faire et ne pas faire pour vos tableaux de bord et rapports Excel - les nuls

Ce qu'il faut faire et ne pas faire pour vos tableaux de bord et rapports Excel - les nuls

Les concepts les plus courants utilisés dans les tableaux de bord et les rapports Excel sont le concept de tendances. Une tendance est une mesure de la variance sur un intervalle défini, généralement des périodes telles que des jours, des mois ou des années. Mais construire des composants tendance pour vos tableaux de bord a quelques choses à faire et à ne pas faire. Utilisez les types de graphiques appropriés pour ...

Emplacements de confiance et macros Excel - mannequins

Emplacements de confiance et macros Excel - mannequins

Si l'idée d'un message Macro Excel à venir (même une fois) désorganise vous, configurez un emplacement de confiance pour vos fichiers. Un emplacement approuvé est un répertoire considéré comme une zone sûre dans laquelle seuls les classeurs approuvés sont placés. Un emplacement de confiance vous permet, à vous et à vos clients, d'exécuter un classeur compatible avec les ...

Transformez une colonne de données en deux dans Excel 2016 - des nuls

Transformez une colonne de données en deux dans Excel 2016 - des nuls

Dans une feuille Excel 2016 que vous devez transformer une colonne de données en deux colonnes. Dans le cas des noms, par exemple, il peut être nécessaire de transformer une colonne de noms en deux colonnes, l'une appelée prénom et l'autre nom de famille. Suivez ces étapes dans un fichier Excel ...

Le choix des éditeurs

Dix domaines à couvrir avec les fournisseurs d'entrepôts de données - les nuls

Dix domaines à couvrir avec les fournisseurs d'entrepôts de données - les nuls

Sont dix domaines que vous devriez Discutez avec n'importe quel fournisseur de produits d'entreposage de données, quelle que soit la catégorie de produit (outil d'aide à la décision, outil de middleware ou SGBDR, par exemple) que vous envisagez d'acheter. Il y a aussi une question spécifique que vous pourriez vouloir poser. Toutes ces questions sont quelque peu bizarres car elles ont peu à voir avec ...

L'avenir des entrepôts de données à l'ère du Big Data - mannequins

L'avenir des entrepôts de données à l'ère du Big Data - mannequins

Commencé à changer et à évoluer avec l'avènement du Big Data. Dans le passé, il n'était tout simplement pas rentable pour les entreprises de stocker l'énorme quantité de données provenant d'un grand nombre de systèmes d'enregistrement. Le manque d'architectures de calcul réparties rentables et pratiques a fait que les données ...

Les catégories principales de Business Intelligence - les nuls

Les catégories principales de Business Intelligence - les nuls

Au début de votre projet d'entreposage de données, ne vous concentrez pas sur le type d'outils dont vous avez besoin - pour le moment. Au lieu de cela, concentrez-vous sur les types de questions que les utilisateurs poseront concernant le contenu de l'entrepôt de données, les types de rapports qui seront exécutés et à quelles fins, et les modèles généraux de traitement qui ...