Problème codeVBA Formulaire

VBAnovice -  
Zoul67 Messages postés 2001 Statut Membre -
Bonjour,

Je suis en train d'essayer de mettre en place un registre unique du personnel avec une fonction formulaire. Le problème c'est que je suis novice dans le domaine et je n'arrive pas à trouver où j'ai pu faire une erreur dans le code. Si quelqu'un pouvez m'éclairer, j'ai une erreur "1004"sur :
derligne = .Range("A65536").End(x1up).Row + 1

dans le code suivant :
Private Sub CommandButton1_Click()
Dim Ctrl As Control
Dim r As Integer
Dim t As Integer
Dim derligne As Integer

With Worksheets("contrats")
derligne = .Range("A65536").End(x1up).Row + 1
For Each Ctrl In UserForm1.Controls
r = Val(Ctrl.Tag)
If r > 0 Then contrats.Cells(derligne, r) = Ctrl
Next
End With
TextBox1 = ""
End

End Sub

Je suis en train de craquer HELP ! Merci d'avance.

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour

    faute de frappe !
    remplacle 1 par un l (Lminuscule) End(x1up). par End(xlup).
    0
    1. VBAnovice
       
      Merci,
      maintenant j'ai une erreur "424' sur le :
      If r > 0 Then contrats.Cells(derligne, r) = Ctrl

      Pourvu que ce soit la dernière...

      une solution?

      Merci d'avance
      0
    2. Zoul67 Messages postés 2001 Statut Membre 149
       
      contrats ne correspond à rien.
      Essaie
       If r > 0 Then .Cells(derligne, r) = Ctrl 

      L'utilisation de With équivaut à
      If r > 0 Then Worksheets("contrats").Cells(derligne, r) = Ctrl 
      0