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

pb vba pour decrementer

  • Initiateur de la discussion Initiateur de la discussion scorp82
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
592
Réponses
10
Affichages
789
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…