Comment faire une boucle à longueur variable for... to
Résolu/Fermé
Tensoplast
-
Modifié par Strumpfette le 8/02/2016 à 16:32
Tensoplast Messages postés 2 Date d'inscription lundi 8 février 2016 Statut Membre Dernière intervention 8 février 2016 - 8 févr. 2016 à 15:11
Tensoplast Messages postés 2 Date d'inscription lundi 8 février 2016 Statut Membre Dernière intervention 8 février 2016 - 8 févr. 2016 à 15:11
A voir également:
- Comment faire une boucle à longueur variable for... to
- Qwerty to azerty - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Welcome to nginx! ✓ - Forum Applis & Sites
- A link to the past - Accueil - Guide jeu vidéo
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
8 févr. 2016 à 10:05
8 févr. 2016 à 10:05
Bonjour,
Avec une variable déclarée au niveau module, tu peux la "réduire" dans toutes les procédures du module.
Regarde cet exemple, dans un nouveau classeur :
Avec une variable déclarée au niveau module, tu peux la "réduire" dans toutes les procédures du module.
Regarde cet exemple, dans un nouveau classeur :
Option Explicit Dim i As Integer Sub test() Dim cpt As Integer, monBool As Boolean monBool = False For i = 1 To 5 Test_2 monBool MsgBox "i vaut : " & i cpt = cpt + 1 If cpt = 3 Then monBool = True Next End Sub Sub Test_2(Flag As Boolean) If Not Flag Then i = 1 End Sub
Tensoplast
Messages postés
2
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
8 février 2016
8 févr. 2016 à 12:03
8 févr. 2016 à 12:03
J'ai du mal à comprendre ton code, j'ai testé, mais je comprends pas bien l'application du Flag.
Je comprends la logique de ton code qui maintient la valeur du i basse de manière à ne pas avancer dans le tableau.
Par contre, en quelque sorte ce que je souhaiterais faire varier moi c'est le "5" quand tu dis
for i = 1 to 5
C'est ce 5 qui change au fur et a mesure que j'ai inséré des lignes dans mon tableau. C'est à dire qu'après avoir inséré 10 lignes par exemple, il faudrait que je puisse transformer mon for i = 1 to 5 en
for i = 1 to 15
et qu'il continue à exécuter ma macro jusque 15 et pas jusque 5.
Au besoin, je peux éventuellement fournir mon fichier en mp
merci
Je comprends la logique de ton code qui maintient la valeur du i basse de manière à ne pas avancer dans le tableau.
Par contre, en quelque sorte ce que je souhaiterais faire varier moi c'est le "5" quand tu dis
for i = 1 to 5
C'est ce 5 qui change au fur et a mesure que j'ai inséré des lignes dans mon tableau. C'est à dire qu'après avoir inséré 10 lignes par exemple, il faudrait que je puisse transformer mon for i = 1 to 5 en
for i = 1 to 15
et qu'il continue à exécuter ma macro jusque 15 et pas jusque 5.
Au besoin, je peux éventuellement fournir mon fichier en mp
merci
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
8 févr. 2016 à 12:27
8 févr. 2016 à 12:27
J'ai dit des bêtises.
En fait, ton souci est ici, dans ta première macro :
Au lieu boucler de n = 15 To derlig, essaie l'invers
Et s'il le faut, ajoute 1 à n quand nécessaire (n = n + 1)
En fait, ton souci est ici, dans ta première macro :
Au lieu boucler de n = 15 To derlig, essaie l'invers
For n = derlig To 15 Step -1
Et s'il le faut, ajoute 1 à n quand nécessaire (n = n + 1)
Tensoplast
Messages postés
2
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
8 février 2016
>
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
8 févr. 2016 à 15:11
8 févr. 2016 à 15:11
Super !! Un tout grand merci !
C'était tout con en fait ... Pourquoi vouloir aller d'un point A à un point B variable alors que le chemin inverse est nettement plus simple ^^
(ps est il possible de modifier mon premier post ? je n'étais pas encore enregistrer sur le forum)
C'était tout con en fait ... Pourquoi vouloir aller d'un point A à un point B variable alors que le chemin inverse est nettement plus simple ^^
(ps est il possible de modifier mon premier post ? je n'étais pas encore enregistrer sur le forum)