Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
S

scorp82

Guest
salut le forum et salut robert
Merci beaucoup Robert, ca marche enfin ! ! ! je ne te derangerai plus pour le moment
Merci à tous pour votre aide et encore merci robert
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…