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

Zoul67 Messages postés 2001 Statut Membre 149
 
0
VBAnovice
 
Merci :)
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour

faute de frappe !
remplacle 1 par un l (Lminuscule) End(x1up). par End(xlup).
0
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
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