Comment faire une boucle avec deux nombre défini ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lebarbo

XLDnaute Occasionnel
Bonjour à tous, bonjour le forum,

J'ai un souci de boucle, je calcule deux chiffres avec VBA en fonction d'autres données et je veux faire tourner une boucle avec ces deux chiffres. Exemple j'ai X=2 et Y=8 et je veux faire une boucle pour ces deux chiffres uniquement et bien sur je ne connais pas ces chiffres à l'avance, X peut être 8 et Y=5.

Merci d'avance pour votre aide.
 
Re : Comment faire une boucle avec deux nombre défini ?

Bonjour


tu veux boucler de x à y ???

donc cela donnerait

For x to y

Maintenant si x peut-être soit plus grand soit plus petit qu'y alors il faut tester

a=iif(x>y,y,x)
b=iif(x>y,x,y)

for a to b
 
Re : Comment faire une boucle avec deux nombre défini ?

Bonjour lebarbo, re le forum,

L'est où le X, l'est où le Y, comment ces saisies se font-elles ?

Partant de là, on peut tout imaginer, il faudrait quelques précisions (sachant que je ne suis pas le meilleur pour te répondre)...

Peut-être qu'une simple feuille de calcul avec quelques explications du début de la chose et du résultat attendu (ZIPEE), en pièce jointe....

Bon après-midi.

Edit: Bonjour Pascal

Jean-Pierre
 
Dernière édition:
Re : Comment faire une boucle avec deux nombre défini ?

Bonjour jeanpierre et PascalXLD,

En fait je ne souhaite pas boucler de x à y mais seulement faire le code pour x et pour y.
Donc je suis en train de penser que si je fais le test, je peux suremment faire un
For i=X to Y step (Y-X) où le contraire bien sûr

Qu'est ce que vous en pensez ?

En tout cas déjà merci pour le test.
 
Re : Comment faire une boucle avec deux nombre défini ?

Re,

A mon sens, difficile de faire des calculs sur des noms de feuilles, sans savoir quels calculs et à partir de quoi dans la ou les feuilles...

Ou alors, je vieizi..... mal...

Un petit fichier avec ce que tu as, ton USF, les choix, les possiblités et les réponses attendues... ZIPPE le fichier, merci.
 
Re : Comment faire une boucle avec deux nombre défini ?

Ok ça marche pas besoin de zippé en fait je fais une concatenation en vba pour appeler une feuille dans la boucle. Je ne fais pas un calcul avec le numéro de feuille mais le numéro de feuille me permet de l'appeler et de faire le calcul à partir des données de cette feuille.

Merci à vous deux,

Bye
 
Re : Comment faire une boucle avec deux nombre défini ?

Re,

Merci de ta réponse très claire, elle va, sans aucun doute, aider tous ceux qui auraient la même problématique ????????????????????

??????????????????????

Mais je n'ai peut-être pas compris la différence entre un site de partage et un site d'assistance à 1€55 la minute... (1.55 étant donné à titre indicatif)
 
Dernière édition:
Re : Comment faire une boucle avec deux nombre défini ?

Oulala oula loin de moi cette idée...
je croyais avoir été plus clair sur ma dernière réponse...
En fait j'ai fait un userform (sur un classeur Excel qui comporte une dizaine de feuilles) qui demande à l'utilisateur de selectionner dans une 1ere liste déroulante un nom de feuille, et dans une 2ème liste, une autre feuille.
Je souhaite appliquer ensuite un code spécifique et le même code sur ces deux feuilles : par exemple appeler la cellule A1 de la 1ère feuille, le nom de la 1ère feuille ; et en A1 de la 2ème feuille, le nom de la deuxième feuille.
Mais au lieu de réécrire deux fois le même code je souhaiter alléger le code par une boucle sur 2 variables. Toutefois sachant que je ne sais pas si l'utilisateur va selectionner d'abord la feuille 1 qui va se trouver dans la disposition du classeur avant la feuille 2 ou l'inverse il fallait tester tout ça d'où l'intervention pertinente de PascalXLD !!!
Du coup ça donne pour le code :

NomFeuil1 = Userform1.ListBox1.Value
NomFeuil2 = Userform2.listBox2.Value

a=iif(Sheets(NomFeuil1).Index>Sheets(NomFeuil2).Index,Sheets(NomFeuil2).Index,Sheets(NomFeuil1).Index)
b=iif(Sheets(NomFeuil1).Index>Sheets(NomFeuil2).Index,Sheets(NomFeuil1).Index,Sheets(NomFeuil2).Index)

For i=a to b step (b-a)

Sheets(i).Range("A1").Value = Sheets(i).Name

Next

Je précise que ceci est un exemple et que le code est en réalité beaucoup plus lourd donc c'est toujours avantageux de ne pas le doubler pour chacune des feuilles.

Voilà en espérant avoir été clair et que tout le monde puisse profiter de cet exemple.
En espérant aussi que ce message vous montre que je respecte ce forum ainsi que ces membres.

Bye
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
347
Réponses
23
Affichages
676
Réponses
13
Affichages
358
Retour