Banzai64 a écrit :
Comment ça ?
Tu as dupliqué 400 fois le code ?
J'ai en effet dupliqué 400 fois le code, pour 400 cellules différentes. Il est possible qu'il y avait plus simple à faire, mais le résultat me convient.
Image de ma page de saisie
Pour résumé, le fichier est multi-utilisateurs et jusqu'à maintenant, chacun rentrait sa donnée dans l'onglet du mois. Le gros problème est que les mois sont liés entre eux et que chaque mois ou presque amène un classement particulier dans l'ordre des personnes. Donc immanquablement avec des liens faux entre feuilles, régulièrement des personnes avaient des coches (+1) qui étaient destinées à d'autres.
Avec mon système, les feuilles mensuelles sont figées et ne peuvent plus être modifiées. Les +1 vont dans le mois correspondant, dans un tableau caché et l'affichage final se fait grâce à la variable "RECHERCHEV". Au final, celui qui veut imprimer avec un classement spécial n'aura plus qu'à modifier l'ordre des numéros dans la première colonne de mon image.
Avec le fichier que tu as fournis pas besoin d'Userform
Tu fais une macro MoinsUn
Sub MoinsUn()
With Sheets(MonthName(Month(Date)))
.Range("B6") = .Range("B6") - 1
End With
MsgBox "Soustraction effectuée"
End Sub
Fournis un fichier qui expliquerait ta demande d'Userform
Je reconnais que mon fichier et mon explication était pas top, désolé.
En gros ce que je souhaiterait, c'est de ne pas doubler mes boutons qui chargent déjà bien ma page, mais de mettre un seul UserForm qui permettrait de faire (-1) à une cellule donnée.
Exemple : Je clique le bouton "D6" par erreur, alors que c'était le "D7". Pour corriger je clique sur le bouton "Annulation". Une fenêtre s'ouvre me demande de choisir la cellule avec laquelle interagir, j'insère "D6" et je valide. Du coup la macro liée à l'UserForm reconnaît le nom de cellule et "corrige" par un -1, vu qu'on ne peut pas annuler une macro, l'erreur initiale effectuée.
J'espère que c'est plus clair.
Encore merci des coups de mains et chapeau pour la réactivité.