ERREUR EXE 6 & 91 DANS CODE VBA

Bonjour,

Je souhaite renvoyer les valeurs d'une USERFORM vers un autre classeur.

A chaque lancement de ma macro j'ai le messages d'erreur suivant qui s'affiche: Erreur EXE "91" variable objet ou variable de bloc non définie OU Erreur "6" dépassement de capacité

J'avoue chercher la solution depuis un petit bout de temps sans pour autant trouver la solution.

Pour plus de lisibilité je vous joint mes deux fichier

Merci d'avance.

Le code est le suivant:

Private Sub cmbEnregistrement_Click()

Dim Ligne As Integer

For Ligne = 2 To ClasseurST.Sheets(1).Range("A1").End(xlDown).Row

If txtNom.Value = ClasseurST.Sheets(1).Range("A" & Ligne).Value Then

Dim remplacer As Integer

remplacer = MsgBox("ST déjà existant?", vbOKCancel + vbCritical, "Modifier des informations ?")

If remplacer = vbCancel Then

Exit Sub

Else

Call RemplacerST(Ligne, txtAdresse.Value, txtCodePostal.Value, txtRaisonSociale.Value, txtVille.Value, txtSiret.Value)

Exit Sub

End If

End If

Next Ligne

Call CreerST(txtNom.Value, txtAdresse.Value, txtCodePostal.Value, txtRaisonSociale.Value, txtVille.Value, txtSiret.Value)

ClasseurST.Sheets(1).Range("A2:F" & ClasseurST.Sheets(1).Range("A2").End(xlDown).Row + 1).Sort Key1:=ClasseurST.Sheets(1).Range("A2"), Key2:=ClasseurST.Sheets(1).Range("B2")

ClasseurST.Save

End Sub

25exe.zip (24.32 Ko)
23registrest.zip (9.24 Ko)

Bonjour

Une autre façon de faire

Tu peux supprimer le module "modEnregistrement"

Option Explicit

Private Sub cmbEnregistrement_Click()
Dim Ligne As Long
Dim Cel As Range

  With ClasseurST
    With .Sheets(1)
      Set Cel = .Columns("A").Find(what:=Me.txtNom, LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Ligne = Cel.Row
        If MsgBox("ST déjà existant?", vbYesNo + vbCritical, "Remplacer des informations ?") <> vbYes Then Exit Sub
      Else
        Ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
      End If
      .Range("A" & Ligne).Value = Me.txtNom
      .Range("B" & Ligne).Value = Me.txtRaisonSociale
      .Range("C" & Ligne).Value = Me.txtSiret
      .Range("D" & Ligne).Value = Me.txtAdresse
      .Range("E" & Ligne).Value = Me.txtCodePostal
      .Range("F" & Ligne).Value = Me.txtVille
    End With
    .Save
  End With
End Sub

Merci grandement pour ta réponse Banzaï,

C'est un plaisir de voir la réactivité sur les POST , en particulier lorsque l'on débute en VBA.

Rechercher des sujets similaires à "erreur exe code vba"