Bonjour sva,
Dans ton message du 24 mai à 23:49, tu as écrit « While i < 20 », que tu traduis par « tant que i < = 20 » !
Dans ton message du 25 mai à 10:58, tu réécris la même erreur de test que ci-dessus !
Dans ton message de 00:03, tu as écrit : « je vous informe que j'ai réussi à trouver la solution »
J'ose espérer que dans cette solution, tu as corrigé ton erreur de test !
Alors pour plus de sécurité, je vais tenter de faire ta traduction en langage algorithme.
Je remets ici ton code VBA (avec indentation, et correction du nom de ta variable salaire total) :
While i < 20
cellule = "C" & (i+5)
salaire_total = salaire_total + Sheets("annexe10").Range(cellule) * 12
i = i + 1
wend
En langage algo :
Tant que i < 20
cellule ← "C" & (i+5)
salaire_total ← salaire_total + Sheets("annexe10").Range(cellule) * 12
i ← i + 1
Fin Tant que
Autre façon de l'écrire, plus « verbeuse » :
Tant que i < 20
affecter à cellule le texte "C" & (i+5)
affecter à salaire_total sa propre valeur augmentée de 12 * la valeur de la cellule dont la référence est indiquée par la variable cellule, et cette cellule est sur la feuille "annexe10"
affecter à i la valeur de i + 1
Fin Tant que
Cela dit, ton code VBA initial peut s'écrire bien plus simplement ainsi :
For i = 5 To 24
salaire_total = salaire_total + Sheets("annexe10").Cells(i, "C") * 12
Next i
En algo (non verbeux ) :
Pour i = 5 à 24
salaire_total ← salaire_total + Sheets("annexe10").Cells(i, "C") * 12
Suivant i
Tu auras noté que j'ai enlevé ton caractère espace en trop entre Sheets et la parenthèse ouvrante.
Note aussi que dans tous ces codes, il y a un gros sous-entendu : avant d'entrer dans une boucle While ou For, la variable salaire_total doit être initialisée à zéro, sinon : résultat faux ! autre gros sous-entendu : avant d'entrer dans une boucle While, la variable i doit être initialisée à zéro ; mais cela est inutile pour la boucle For car l'initialisation est faite à 5.
Je t'ai aussi répondu sur ton 2ème sujet : https://forum.excel-pratique.com/viewtopic.php?p=653698#p653698
dhany