Utilisation incorrecte de la propriété

Astarehan -  
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai ce code :
Sub Effacer_article()
'
' Effacer_article Macro
'

Supprimermsg = MsgBox("Supprimer cet article ?", vbOK, "Opération irréversible...")
If Supprimermsg = vbCancel Then
Exit Sub
Else

If Sheets("Liste articles").Range("G1") = 2 Then
Supprimermsg = MsgBox("Il doit rester au moins 2 articles !", vbOKOnly, "Opération irréversible...")
Exit Sub
End If
Application.ScreenUpdating = False
Sheets("Liste articles").
ActiveWindow.SelectedSheets.Delete

nbarticle = Sheets("Liste articles").Range("H1") + 1
Sheets("Liste articles").Range("A" & nbarticle).EntireRow.Delete
Sheets("Liste articles").Range("G1") = Sheets("Liste articles").Range("G1") - 1


Sheets("Liste articles").Range("H1") = 1
Call AfficheArticle

End If
End Sub

C'est un bouton afin de supprimer un article sur un classeur de gestion de stocks. J'aurais aimé savoir pourquoi vba affiche "l'utilisation de la propriété est incorrecte", alors que le code est "normalement" bon
Cordialement

10 réponses

Astarehan
 
je l'ai supprimée, et remise, maintenant j'ai "Erreur de compilation : Sub ou Function non définie" ..
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Tu as supprimé quoi et remis quoi ? Sur quelle ligne apparaissait le 1er message d'erreur ?
0
Astarehan
 
ça apparaît sur la 1ère ligne, et j'ai supprimé cette première ligne et remise ensuite.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
... vba affiche "l'utilisation de la propriété est incorrecte", alors que le code est "normalement" bon

Ça m'étonnerait !!! il y a plusieurs incohérences ...

Sheets("Liste articles").
? A quoi sert cette ligne ?

ActiveWindow.SelectedSheets.Delete
??? Ça supprime la feuille active qui est ici Sheets("Liste articles") !!!
Le code qui suit ne peut pas être exécuté et doit provoquer une erreur:
nbarticle = Sheets("Liste articles").Range("H1") + 1 
 Sheets("Liste articles").Range("A" & nbarticle).EntireRow.Delete 
 Sheets("Liste articles").Range("G1") = Sheets("Liste articles").Range("G1") - 1 
 Sheets("Liste articles").Range("H1") = 1

0
Astarehan
 
Tout d'abord le code ne vient pas de moi. Personnellement j'y connais pas grand chose en code, encore moins en VB...
J'ai modifié certains éléments du classeur pour l'utilisation que j'en fait, le classeur de base était fonctionnel, alors que je n'ai rien modifié dans cette partie. Et oui effectivement, un bouton permet d'ajouter un élément en créant une feuille dédiée, ce bouton permet de supprimer la feuille crée avec l'élement ajouté dans le tableau.
0
Astarehan
 
?
0
Astarehan
 
??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Astarehan
 
Up.
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
D'ou provient ton erreur ?
0
Astarehan
 
L'erreur provient toujours de la même ligne. Du moins quand j'entre dans le VB c'est la première ligne qui est surlignée en jaune
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Est ce que la procédure "AfficheArticle" existe ? Comme l'a dis Polux31, le code supprime la feuille "Liste articles" donc les instructions suivantes ne pourront pas être exécutées vu que la feuille n'existe plus...
0
Astarehan
 
Les instructions ne suppriment pas la fiche "Liste articles" elle supprime la feuille crée sur la base "Liste Articles"
Je ne sais pas si la procédure existe, normalement oui, comment vérifier ceci ?
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Dans ce code, il n'a pas de feuille qui est créée. Il faut chercher dans tes modules si il existe la procédure... Envois nous une copie de ton fichier anonymisé via cjoint.com et des explications claires sur ce que tu souhaites faire
0
Astarehan
 
C'est normal c'est une partie du code intégral. Cette partie sert à supprimer la feuille qui a été crée par le bouton "Ajouter Article"
0
Astarehan
 
Et j'ai déjà posté plus bas le xls original (le bouton supprimer article fonctionne dessus)
0
Astarehan
 
Si jamais ce que je dis n'est pas assez explicite, voici le fichier original :
http://www.excel-downloads.com/remository/Download/Professionnels/Gestion-commerciale/StockJMB.html
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Le code du fichier original est protégé par un mot de passe... L'important serait d'avoir TON fichier pour savoir d'où provenir les erreurs que tu rencontres...
0
Astarehan
 
Je fais comment pour anonymiser ?
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Ben t'enlève tous tes trucs "secrets" pi tu met des truc bidon à la place...
0
Astarehan
 
http://cjoint.com/?3EtqjLib8Ih
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Ta procédure se nomme "Affiche_Article" et non "AfficheArticle".
De plus, dans cette procédure, il y a une erreur a la ligne de code suivante :
Sheets ("Liste articles")<


Il faut rajouter ".qqc" ou alors supprimer cette ligne car je ne vois pas l'interêt de la garder.

Tout dépends de ce que tu veux faire ...
0
Astarehan
 
Si tu regardes sur la feuille d'origine, le bouton permet de supprimer l'entrée, c'est rétablir cette fonction que je voudrais.
Ensuite j'aimerais savoir comment moduler l'entrée dans "liste articles", quand on clique sur "ajouter article" j'aimerais rajouter des entrées, comment pourrais-je m'y prendre ?
0
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Oui mais la fonction qui supprime une entrée appelle la procédure afficher_article....

Tu veux rajouter des champs quand on ajoute un article c'est sa ?
0
Astarehan
 
Bah je veux que ça ajoute une entrée, un article quoi. Comme c'est la mais en ajoutant les données "etagere" et "rangée".
Et aussi rétablir la fonction supprimer l'article associé à la feuille actuelle. (Feuille actuelle = feuille crée avec le bouton "créer article"
0
Astarehan
 
?
0
Astarehan
 
?
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Salut,

Je rejoins benol3 dans son commentaire. (je salue et bravo pour ta patience ... j'ai laché au bout de 4 posts !!!)

Il ne faut pas inverser les rôles. Celui qui a besoin d'aide c'est toi, pas ceux qui prennent la peine de vouloir aider. Prends la peine de lire les commentaires qui te sont faits et prends, au moins la peine d'y répondre.

je suis stagiaire dans une boîte et j'ai pas super envie de me prendre la tête
Il est vrai que c'est mieux quand c'est les autres qui doivent se prendre la tête pour toi ....

Peu importe l'usage du fichier, je ne mérite pas moins d'aide qu'un autre. Vraiment une drôle façon de penser. Tu n'as sincèrement rien à faire ici.
Il n'a jamais été question de mérite ou pas sur CCM. Il y a des bénévoles qui prennent sur leur temps pour apporter de l'aide à des personnes qui font un minimum d'effort pour résoudre leurs problèmes. Encore une fois, n'inverse pas les rôles. Si il y en un qui n'a rien à faire ici, ce n'est certainement pas Benol3 ...
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
-1
benol3 Messages postés 570 Date d'inscription   Statut Membre Dernière intervention   87
 
Merci de ton soutien Polux31 :)
0