For i ou j ....??

PAULUX

XLDnaute Occasionnel
Bonjour à tout le forum, ma question va vous paraitre ridicule mais en vba que veut signifi i ou j ex For i, j'essai de décortiquer les codes vba pour progresser "je bidouille un peu les codes, mais sans notion de l'anglais c'est hard"

Merci pour vos réponses, et peut-être un lien pour vraiment comprendre, ce forum m'apporte déjà bcp mais je rame encore.

Merci à vous PAULUX
 

46MNO83

XLDnaute Junior
Re : For i ou j ....??

le i, le j sont des variables de boucle qu'on fait démarrer à jusqu'à
exemple for i=5 to 25 commence à 5 et finit à 25
avec aussi
exemple for j= 1 to 30 step 2 comme à 1 finit à 30 mais en comptant de 2 en 2 donc 1 puis 3 puis 5 etc...
tu peux mettre n'inmporte quoi comme variable
 

jeanpierre

Nous a quitté
Repose en paix
Re : For i ou j ....??

Bonsoir PAULUX,

For i=0 to 10, ou For j=5 to 25 veut simplement dire de i = telle valeur aller à telle autre valeur, c'est-à-dire, ici et pour i on va de 0 à 10, ou pour j, on va de 5 à 25.

On aurait pu dire aussi : for PAULUX = 1 to 3, donc PAULUX vaudrait 1 puis 2, et ensuite 3....

On peut aussi y mettre un pas, exemple step 2 ou 3

C'est ce que l'on nomme une boucle. avec for x à y, on fait des calculs de x à y... pas trop facile d'expliquer sans exemple concret.

T'inquiètes pas, c'est plus simple qu'il n'y parrait....

A te lire.

Jean-Pierre

Edit : Pour saluer 46MN083 et bhbh, bien sûr.
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Inactif
Re : For i ou j ....??

Bonsoir,
For i ou For j, comme tu les appelles, ce sont des boucles, qui comme leur nom indique, boucle d'une valeur minimum à une valeur maximum.
Un exemple tout simple, tu fais ce code :

Code:
Sub boucle()
For i = 5 To 6
    MsgBox i
Next i
End Sub

J'ai fait exprès de mettre la valeur minimum à 5, afin de te montrer qu'une boucle de commence pas forcément à 1

Tu verras également souvent une boucle de ce type :

Code:
Sub autre_boucle()
For i = [A65000].End(xlUp).Row To 1 Step -1
    If Cells(i, 1).Value = "à supprimer" Then Rows(i).Delete
Next i
End Sub

Une boucle qui part d'une valeur maximum vers une valeur minimun, avec un pas de "-1" (Step -1), donc une espèce de compte à rebours, et qui, dès que la valeur est trouvée, supprime la ligne (ce type de boucle est obligatoire pour des suppressions de lignes)
Bonne soirée, et reviens si tu veux de plus amples informations

Edit, un peu lent ce soir, bonsoir JP, et "un basque"? peut-être????(j'aime pas citer par des chiffres....:D)
 
Dernière édition:

PAULUX

XLDnaute Occasionnel
Re : For i ou j ....??

Bonjour et merci à vous 3, bhbh jeanpierre et 46MNO83, voilà c'est bcp plus clair pour moi.

Je fais encore un petit pas en avant avec ce tableur qui me passionne, grace à vous tout le monde peut apprendre et se perfectionner "longue vie à ce forum"

Cordialement Paulux
 

MJ13

XLDnaute Barbatruc
Re : For i ou j ....??

Re bonjour à tous.

Comme l'on dit mes prédécesseurs, i est une variable, c'est un des points les plus importants du VBA.
Mais tu peux prendre n'importe quelle lettre ou groupe de lettres comme compteur par exemple (en général, on réserve i, j et k pour les boucles de façon à ce qu'en voyant le code, on sache de quoi on parle).

Sinon, lorsque tu commence à faire des macros un peu plus conséquentes avec des routines et sous-routines, il faut déclarer ton i en public au début de procédure.

ex:
Public i as double

Ainsi, si lors d'une boucle, tu es sur la ligne i, et que tu vas faire une autre macro, le fait de mettre i dans ton code, il saura à quoi faire référence .

Voir l'exemple joins qui est plus parlant.
 

Pièces jointes

  • Boucle_MJ.xls
    30.5 KB · Affichages: 58

Discussions similaires

Réponses
7
Affichages
641
Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
313 344
Messages
2 097 335
Membres
106 916
dernier inscrit
Soltani mohamed