Sub Macro2()
'bizarre de trouver 'Me' dans une macro et non pas dans une code événementiel de l'UserForm lui même
'le mieux serait 'UserForm1.CommandButton1.Caption = Me.ListBox1.Value + ' OK ?' pour éviter un bug (UserForm1 : à remplacer par le véritable nom de l'userForm)
'le texte du bouton de l'UserForm en cours prend le nom affiché dans la ListBox1 + OK ?
'si la ListBox1 affiche 'Tartampion' alors le texte du bonton devient 'Tartampion OK ?'
'Normalement ça devrait buguer car ce n'est pas le + qui s'utilise mais le & : Me.ListBox1.Value & 'OK ?'
Me.CommandButton1.Caption = Me.ListBox1.Value + ' OK ?'
'enlève la protection de l'onglet 'pointages'
Sheets('pointages').Unprotect
'sélectionne la cellule S2 de l'onglet actif (j'imagine que c'est 'pointages')
Range('S2').Select
'écrit 'POIRE' dans la cellule S2
ActiveCell.FormulaR1C1 = 'POIRE'
'sélectionne la plage C17:AG40
Range('C17:AG40').Select
'efface le contenu de cette plage
Selection.ClearContents
'sélectionne la cellule C5
Range('C5').Select
'dans C5 place la formule '=C50' ('=R[45]C' signifie =(R[45]: déplacement de 45 lignes/
'C rien : rete dans la même colonne). Donc C5 plus 45 lignes ça fait C50, d'où la formule '=C50'
ActiveCell.FormulaR1C1 = '=R[45]C'
'l'autofill correspond à faire glisser en utilisant la poignée de recopie, petit carré noir
'en bas à dropite d'une cellule sélectionné. le but est de recopier la formule =C50 de
'C5 à AG5. Comme c'est du relatif on aura en D5:'=D50' en E5:'=E50' ... en AG5:'=AG50'
Selection.AutoFill Destination:=Range('C5:AG5'), Type:=xlFillDefault
'sélectionne la cellule A2
Range('A2').Select
'protège l'onglet 'pointages'
Sheets('pointages').Protect
End Sub