Bonjour,
Dans la feuille maintenance, je propose ceci :
Private Sub CommandButton1_Click()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim nL1 As Long, nL2 As Long
Dim utilisateur As String
utilisateur = Right(Range("A1"), Len(Range("A1")) - 9)
Set ws1 = ActiveSheet
Set ws2 = Sheets("Historique maintenance")
nL1 = ws1.Cells(Columns.Count, 2).Endotidienne(xlUp).Row
ws1.Range("H" & nL1) = utilisateur
nL2 = ws2.Cells(Columns.Count, 2).End(xlUp).Row + 1
ws1.Range("A" & nL1 & ":H" & nL1).Copy Destination:=ws2.Range("A" & nL2)
Rows(nL1 & ":" & nL1).Select
Selection.Delete Shift:=xlUp
Sheets("Accueil").Visible = True
Sheets("Utilisateurs").Visible = 2
Sheets("Historique Maintenance").Visible = 2
Sheets("Maintenance quotidienne").Visible = 2
'vider le formulaire de connection
Txt_user = ""
Txt_pass = ""
End Sub
Juste une remarque : la ligne
utilisateur = Right(Range("A1"), Len(Range("A1")) - 9)
est fragile à cause de ce "Bonjour " qui ne sert à rien, car il oblige à extraire le nom de l'utilisateur de la chaine d'accueil. Mieux vaut ne mettre dans les cellules A1 des feuilles que le nom de l'utilisateur. En procédant ainsi, on peut directement ajouter l'intervenant dans l'enregistrement.
Bonjour Arturo. Désolé, collision. Même procédure à un iota près.