Problème de compilation formulaire excel 2010

Bonjour,
j'ai un problème de compilation voici ce que j'ai écrit :
Private Sub valider_Click()
Dim Ctrl As Control
Dim r As Integer
Dim t As Integer
Dim derligne As Integer

With Worksheets("Renseignement Transports")
derligne = .Range("A65536").End(x1up).rox + 1

For Each Ctrl In UserForm1.Controls

r = Val(Ctrl.Tag)

If r > 0 Then Renseignements Transports.Cells(derligne, r) = Ctrl
Next

End With

TextBox1 = ""
End

End Sub
Es-ce que quelqu'un peut m'aider à trouver le problème merci je débute dans le VBA d'excel.
Par avance merci à tous pour vos réponse!

3 réponses

  1. Modérateur
    Bonjour,
    Dans un bloc With End With sur un objet WorkSheets, inutile de remettre le nom de ta feuille pour l'utiliser. Encore moins mettre juste le nom sans Sheets ou WorkSheets...
    Private Sub valider_Click()   
    Dim Ctrl As Control   
    Dim r As Integer   
    Dim t As Integer   
    Dim derligne As Integer   
    
    With Worksheets("Renseignement Transports")   
        derligne = .Range("A65536").End(x1up).Row + 1 'ici faute de frappe : .rox ça n'existe pas!   
        For Each Ctrl In UserForm1.Controls   
            r = Val(Ctrl.Tag)   
            If r > 0 Then   
                .Cells(derligne, r) = Ctrl.Name '?? J'ai ajouté .Name car Ctrl dans une cellule???  
            End If  
        Next   
    End With   
    TextBox1 = ""   
    End


    Ps : je n'ai pas testé...
    Cordialement,
    Franck P
    0
    1. problème d'erreur d'exécution 9 sur la ligne :
      With Worksheets("Renseignement Transports")
      ????
      merci
      0
    2. Contributeur
      il y a une faute d'orthographe dans "Renseignement Transports"
      regarde ton classeur
      0
  2. Contributeur
    Bonjour,

    comme tu as plusieurs controls et que tu veux les transférer à la suite dans Excel (actuellement cela va toujours dans m^me cellule
    erreur de syntaxe Row au lieu de rox )
    essaie
    With Worksheets("Renseignement Transports")  
         derligne = .Range("A65536").End(x1up).Row + 1  
         For Each Ctrl In UserForm1.Controls  
              r = Val(Ctrl.Tag)  
              If r > 0 Then  
                   .Cells(derligne, r) = Ctrl  
                   derligne = derligne + 1  
              End if  
         Next  
    End With  
    


    Edit 12:03
    Salut Pijaku, excuses moi, je n'avais pas rafraichi
    Michel
    0
    1. Modérateur
      Salut Michel,
      Pas de problème.
      Une bonne journée à toi!
      0
  3. Modérateur
    problème d'erreur d'exécution 9 sur la ligne :
    With Worksheets("Renseignement Transports")


    Problème d'orthographe sur le nom de ta feuille? Feuille inexistante dans ce classeur? Problème de casse (Majuscule minuscule) dans le nom de la feuille?
    0
    1. Problème d'orthographe règlé mais maintenant voici le problème :
      erreur d'exécution 1004 sur la ligne :
      derligne = .Range("A65536").End(x1up).Row + 1
      merci pour votre aide!
      0
    2. Modérateur
      Regarde bien enter les parenthèses du End.......

      1 au lieu de l

      End(xlUp) pas End(x1Up)
      0
    3. toujours pareil!
      0