Boucle for
Résolu/Fermé
megatronnbjja
Messages postés
63
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 avril 2020
-
12 juin 2013 à 11:13
megatronnbjja Messages postés 63 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 avril 2020 - 12 juin 2013 à 13:43
megatronnbjja Messages postés 63 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 avril 2020 - 12 juin 2013 à 13:43
A voir également:
- Boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Download instagram for pc - Télécharger - Divers Communication
- Idm for mac - Télécharger - Téléchargement & Transfert
- Saveaspdf.exe for office 2007 - Télécharger - Bureautique
4 réponses
NeoTsu
Messages postés
58
Date d'inscription
jeudi 6 juin 2013
Statut
Membre
Dernière intervention
19 juin 2013
3
12 juin 2013 à 11:30
12 juin 2013 à 11:30
Bonjour,
Je n'en connais pas, mais je peux te proposer:
si tu a peu de test a faire, et toujours les mêmes, cela pourra résoudre ton problème
Remarque, il est également possible de le faire avec des i qui changent si ils sont renseignés par l'utilisateurs en utilisant des variables, mais il faut que le nombre de "cas" a traiter soit toujours le même
Je n'en connais pas, mais je peux te proposer:
For i= 1 to 13 cells(1,i).select If i = 1 then i = 2 else if i = 3 then i = 5 else if i = 6 then i = 12 else end if end if end if next i
si tu a peu de test a faire, et toujours les mêmes, cela pourra résoudre ton problème
Remarque, il est également possible de le faire avec des i qui changent si ils sont renseignés par l'utilisateurs en utilisant des variables, mais il faut que le nombre de "cas" a traiter soit toujours le même
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
12 juin 2013 à 11:48
12 juin 2013 à 11:48
Bonjour
Une possibilité : mettre les valeurs dans un tableau
A(1)=1; A(3)=6;A(3)=6.A(4)=13
et
for i=1 to 4
cells(1,A(i)).select
next
Une possibilité : mettre les valeurs dans un tableau
A(1)=1; A(3)=6;A(3)=6.A(4)=13
et
for i=1 to 4
cells(1,A(i)).select
next
megatronnbjja
Messages postés
63
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 avril 2020
12 juin 2013 à 12:06
12 juin 2013 à 12:06
Re,
très bonne idée aussi!
Par contre, comment sont définis A(1), A(2).... ?
merci
très bonne idée aussi!
Par contre, comment sont définis A(1), A(2).... ?
merci
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 736
12 juin 2013 à 12:15
12 juin 2013 à 12:15
C'est à toi de les définir dans le code en fonction de tes besoins
Tout dépend à quoi correspondent les valeurs
sont elles arbitraires ? il faut les rentrer en ligne de code A(1)=1 : A(2)=6: etc
dépendent elles de résultat d'un calcul ? d'une valeur d'une cellule ? tu peux y faire référence dans le code A(1) = cells((1,1).value : A(2)=cells(1,2).value etc
Ne pas oublier en debut de module de dimensionner le tableau
Dim A(20) par ex pour 20 valeurs
Tout dépend à quoi correspondent les valeurs
sont elles arbitraires ? il faut les rentrer en ligne de code A(1)=1 : A(2)=6: etc
dépendent elles de résultat d'un calcul ? d'une valeur d'une cellule ? tu peux y faire référence dans le code A(1) = cells((1,1).value : A(2)=cells(1,2).value etc
Ne pas oublier en debut de module de dimensionner le tableau
Dim A(20) par ex pour 20 valeurs
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
Modifié par redaiwa le 12/06/2013 à 12:23
Modifié par redaiwa le 12/06/2013 à 12:23
Salam megatron.....
Je ne pense pas qu'on puisse le faire directement avec FOR mais en combinant la boucle FOR avec l'instruction SELECT CASE on peut restreindre l'exécution du code aux seules valeurs indiquées par CASE.
Voici un exemple où parmis les nombres de 1 à 10, seuls 1;5;8 sont traités (affichage d'un msgbox):
J'espère que cela t'aidera. :)
Je ne pense pas qu'on puisse le faire directement avec FOR mais en combinant la boucle FOR avec l'instruction SELECT CASE on peut restreindre l'exécution du code aux seules valeurs indiquées par CASE.
Voici un exemple où parmis les nombres de 1 à 10, seuls 1;5;8 sont traités (affichage d'un msgbox):
For i = 1 To 10 Select Case i Case 1, 5, 8: MsgBox i End Select Next i
J'espère que cela t'aidera. :)
megatronnbjja
Messages postés
63
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 avril 2020
12 juin 2013 à 13:38
12 juin 2013 à 13:38
Re,
c'est excellent. ça allège pas mal le code.
Merci
c'est excellent. ça allège pas mal le code.
Merci
megatronnbjja
Messages postés
63
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 avril 2020
12 juin 2013 à 13:43
12 juin 2013 à 13:43
Merci à tous pour votre aide et votre réactivité.
Megatron
Megatron
12 juin 2013 à 11:36
Merci pour ta réponse, c'est très malin. Par contre ça reste très redondant si on a beaucoup de cas... Je continue de chercher mais je garde ton idée en tête.
Merci encore.