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
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 SubMerci 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.