Forum Clubic

Modifier une macro

Bonjour,

Je voudrais modifier cette macro pour que au lieu que l?incrément se fasse automatiquement jusqu?à ce que les valeurs de i soit fini cela se fasse manuellement avec un bouton que je compte rajouter à mon fichier>

Voici la macro
Sub fonction ()
Dim i As Integer

For i = 3 To Sheets("Sheet3").Range("A65536").End(xlUp).Value 

EN = Worksheets(“Analyse manuelle”).range(“B4”)
Cod = woksheets(“Analyse manuelle”).range(“J3”)
Ratio = worksheets(“Analyse manuelle”).range(“J13”)
b = worksheets(“analyse manuelle”).range(“K13”)
r2 = worksheets(“analyse manuelle”).range(“M13”)
Tnc = worksheets(“analyse manuelle”).range(“M15”)
ecart = worksheets(“analyse manuelle”).range(“I27”)

sheets(“sheet3”).cells(i , 2).value = EN
sheets(“sheet3”).cells(i , 3).value = Cod
sheets(“sheet3”).cells(i , 4).value = Ratio
sheets(“sheet3”).cells(i , 5).value = b
sheets(“sheet3”).cells(i , 6).value = r2
sheets(“sheet3”).cells(i , 7).value = Tnc
sheets(“sheet3”).cells(i , 8).value = ecart

next i
end sub

je pense qu’il faut supprimer le for mais je ne vois pas du tout comment faire…

Bonjour,

Pour faire simple (cela fait quelque temps que je développe plus), il faut remplacer la boucle par le déclenchement du clique sur le bouton. Je m’explique : il faut que le clique sur le bouton déclenche l’exécution du code


EN = Worksheets("Analyse manuelle").range("B4")
Cod = woksheets("Analyse manuelle").range("J3")
Ratio = worksheets("Analyse manuelle").range("J13")
b = worksheets("analyse manuelle").range("K13")
r2 = worksheets("analyse manuelle").range("M13")
Tnc = worksheets("analyse manuelle").range("M15")
ecart = worksheets("analyse manuelle").range("I27")

sheets("sheet3").cells(i , 2).value = EN
sheets("sheet3").cells(i , 3).value = Cod
sheets("sheet3").cells(i , 4).value = Ratio
sheets("sheet3").cells(i , 5).value = b
sheets("sheet3").cells(i , 6).value = r2
sheets("sheet3").cells(i , 7).value = Tnc
sheets("sheet3").cells(i , 8).value = ecart

Il faut aussi déclarer et affecter la variable “i” en dehors de la fonction, sinon i restera tout le temps à la même valeur, et la feuille modifiée ne changera pas. De plus, pensez à incrémenter i à la fin de la fonction sinon vous aurez le même problème qu’expliqué précédemment.

d’accord , mais pour declarer la variable i en dehors de la fonction comment je fais ?

comme cela :

i=3

sub fonction ()

code […]

i=i+1

end sub()

?
Edité le 04/06/2014 à 14:22

mais sinon ca doit être ca
Edité le 04/06/2014 à 15:50