pb vba pour decrementer

S

scorp82

Guest
Boujour à tous
Alors voila mon ptit programme et j'ai un ptit souci car je n'arrive pas à decrementer une valeur en VBA :

Sub essai()
Application.ScreenUpdating = False
Range('I14').Copy
Sheets('Classement').Select
Range('C36').End(xlUp).Offset(1, 0).Select
selection.PasteSpecial Paste:=xlValues
Sheets('Journée').Select
Range('L14').Copy
Sheets('Classement').Select
Range('F36').End(xlUp).Offset(1, 0).Select
selection.PasteSpecial Paste:=xlValues
Sheets('Journée').Select
Range('O14').Copy
Sheets('Classement').Select
Range('I36').End(xlUp).Offset(1, 0).Select
selection.PasteSpecial Paste:=xlValues
Range('M37').End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = _
'=IF(R[26]C[-10]=MAX(R[26]C[-10],R[26]C[-7],R[26]C[-4]),''1'',''-'')'
Range('N37').End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = _
'=IF(R[26]C[-8]=MAX(R[26]C[-8],R[26]C[-5],R[26]C[-11]),''2'',''-'')'
Range('O37').End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = _
'=IF(R[26]C[-6]=MAX(R[26]C[-6],R[26]C[-9],R[26]C[-12]),''3'',''-'')'
Application.ScreenUpdating = True
End Sub

Alors mon souci,c'est que les 26 (en gras plus) doivent passer à 25 lorsqu'on appui sur un bouton puis à 24,etc . . .Je pensais mettre une variable mais je comprend pas trop comment ca fonctionne.J'espere avoir ete clair.
Merci d'avance
 
S

scorp82

Guest
Reboujour le forum
Robert, j'ai peut etre trouver une solution mais (encore) besoin de ton aide,en fait il me faudrait un bout de programme qui permette d'incrementer une variable,voila un exemple :
ActiveCell.Formula = '=IF(D12=MAX(D12,G12,J12),''FANF'',''-'')'
et il faudrait qu'au prochain appui sur un bouton on passe à
ActiveCell.Formula = '=IF(D13=MAX(D13,G13,J13),''FANF'',''-'')'
Je pense que ca doit etre fesable en definissans une variable (a par exemple) du type:
ActiveCell.Formula = '=IF(Da=MAX(Da,Ga,Ja),''FANF'',''-'')'
mais comme je maitrise pas du tout le VBA si tu pouvais m'aider,ca serais vraiment cool
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir scorp, bonsoir le forum,

je te propose à lors d'écrire 12 dans une cellule qui pourrait être masquée par la suite par exemple dans l'onglet journée cellule Z1.

Au début de la macro tu déclares la variable par exemple :

Dim nb as integer
nb = Jo.Range('Z1')


ensuite tu utilises tes formules :

ActiveCell.Formula = '=IF(D12=MAX(D' & nb & ',G' & nb & ',J' & nb & '12),''FANF'',''-'')'

et à la fin tu actualise avec :

Jo.Range('Z1').Value = Jo.Range('Z1').Value + 1
 

Discussions similaires

Statistiques des forums

Discussions
312 963
Messages
2 093 998
Membres
105 906
dernier inscrit
aifa