Erreur 1004 erreur définie par l'application ou par l'objet
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Salut tout le monde,
je travaille sur la conception d'une application gmao avec vba par le biais d'excel. Et dans la partie gestion des stocks, je voudrais ajouter des nouveaux articles dans un tableau avec les informations nécessaires (Code, quantité, prix, etc). J'ai donc conçu un formulaire permettant l'insertion de ces données.
Cependant, en cliquant sur le bouton add du formulaire, l'erreur 1004 (erreur définie par l'application ou par l'objet) s'affiche. Toutes les pistes que j'ai trouvées sur le net n'ont pas marché jusque là. Le débogage renvoie à la ligne 15 (Set lstRow = .ListRows.Add) sur l'extrait de code.
Cependant, lorsque je transpose le même code à un autre tableau il marche sans problème. Je suppose donc que le problème est d'une manière ou d'une autre lié à l'objet (au tableau). je signale aussi que ce tableau d'articles est la source des trois autres tableaux dynamiques croisés qui me permettent de filtrer les articles par niveaux de stocks dans le tableau de bord. Que dois-je faire pour ne plus avoir cette erreur ?
Voici l'extrait du code pénalisant, j'attends impatiemment vos réactions!!
Cordialement,
Merci !
Private Sub CommandButton2_Click()
If Not Me.Cbx_Famille <> "" Then
MsgBox " Veuillez définir les coordonnées de l'article "
Else
If Not Me.Txt_Prix <> "" Then
MsgBox " Veuillez préciser le prix unitaire de l'article "
Else
If Me.Txt_Min <> "" Then
'Dim dl As Integer
Dim i As Long
Dim lstObj As ListObject
Dim lstRow As ListRow
Set lstObj = Range("Tableau14").ListObject
With lstObj
Set lstRow = .ListRows.Add
i = lstRow.Index
.ListColumns(1).DataBodyRange.Rows(i) = Me.Labe_Info.Caption
.ListColumns(2).DataBodyRange.Rows(i) = Me.Cbx_Famille
.ListColumns(3).DataBodyRange.Rows(i) = Me.Cbx_Place
.ListColumns(4).DataBodyRange.Rows(i) = Me.Txt_Nom
.ListColumns(5).DataBodyRange.Rows(i) = Me.Txt_Describe
.ListColumns(6).DataBodyRange.Rows(i) = CCur(Me.Txt_Prix)
.ListColumns(7).DataBodyRange.Rows(i) = CInt(Me.Txt_Min)
End With
Set lstObj = Nothing
Set lstRow = Nothing
Sheets(33).Range("e19") = Sheets(33).Range("e19") + 1
ThisWorkbook.Save
Unload Add_Articles
Else
MsgBox "Veuillez indiquer le stock de sécurité"
End If
End If
End If
End Sub
Windows / Chrome 106.0.0.0
- Erreur 1004 erreur définie par l'application ou par l'objet
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Comment recuperer whatsapp supprimé par erreur - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Desinstaller application windows - Guide
2 réponses
Bonjour a vous deux,
Un classeur serait le bienvenu car j'ai teste le code avec deux tablos et pas de probleme
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...