Aide pour une macro
Bonjour,
Je cherche à écrire une macro réalisant ceci. J'ai deux valeurs dans des cases qui les valeurs mini et maxi d'un paramètre.
Je voudrais que cette macro me remplisse une colonne qui commence à la valeur mini, puis me remplisse les cases suivantes avec un certain pas et s'arrête à la valeur maxi.
J'avais pensé à une boucle tant que : tant que la valeur maxi n'est pas atteinte, continuer de remplir la colonne en respectant le pas.
En cherchant sur Google, je suis tombé sur l'exemple se trouvant dans les cours VBA de ce site mais malheureusement je n'ai pas réussi à l'adapter... Je pense que la différence entre l'exemple qui est donné et ce que je veux faire, c'est que les valeurs dont j'ai besoin ne sont pas des entiers. Par exemple ma valeur mini est 1,215, la valeur suivante sera 1,265 avec un pas de 0,05, etc...
Voila ce que j'ai commencé à faire et qui ne fonctionne pas bien sûr. x est la valeur mini, y la valeur maxi.
Sub NM()
Dim x As Single '
Dim y As Single
x = Worksheets(2).Cells(5, 3)
y = Worksheets(2).Cells(8, 3)
While x <= y
For i = 12 To 50
Cells(i, 1) = x
x = x + 5 / 100
Next i
Wend
End Sub
Merci à vous
Bonjour,
Pourquoi une boucle For > Next dans la boucle While ?
Voilà un exemple pris dans l'aide d'Excel
While...Wend, instruction, exemple
Cet exemple utilise l'instruction While...Wend pour incrémenter une variable de compteur. Les instructions de la boucle sont exécutées tant que la condition a la valeur True.
Dim Counter
Counter = 0 ' Initialise la variable.
While Counter < 20 ' Teste la valeur du compteur.
Counter = Counter + 1 ' Incrémente le compteur.
Wend ' Met fin à la boucle End While quand Counter > 19.En fait j'avais mis une boucle for (je ne dis pas que c'est ce qu'il faut faire !) pour lui indiquer de passer à la cellule suivante. Car quand je n'ai pas de condition, j'utilise une boucle for pour remplir une colonne. Donc je pensais que c'était nécessaire ici aussi...
D'ailleurs dans l'exemple que vous m'avez donné, à aucun moment on ne parle de cellules, c'est pourquoi quand j'éxécute ma macro il ne se passe rien... Voilà ce que j'ai fait :
Sub NM()
Dim x As Single
Dim y As Single
x = Worksheets(2).Cells(5, 3)
y = Worksheets(2).Cells(8, 3)
While x <= y
x = x + 5 / 100
Wend
End Sub
Je pense avoir trouvé.
Merci