Erreur d'exécution 1004 et renommer un onglet

Bonjour à tous,

Je débute avec le VBA et je tourne en rond.

Explication fichier joint

Lorsque j'utilise ma macro "enregistrer expédition" qui va me permettre de créer un nouvel onglet et effacer les éléments de l'onglet base, j'ai deux bugs

1/ Erreur d'exécution '1004' Impossible de définir la propriété Locked de la classe Range

2/ J'ai un nouveau bouton qui vient couvrir le bouton 'Enregistrer zone de tri sur l'onglet base.

De plus je cherche lors de la création du nouvel onglet qu'il se nomme par rapport à la case B6 "Date d'expédition"

Merci de votre aide

Bonjour,

N'est-ce pas parce que votre feuille est déjà protégée ?

Voici votre fichier avec le code réorganisé. En l'état, le code ne peut pas marcher puisqu'il n'y a pas les feuilles qui sont utilisées dans le code...

Cdlt,

Bonjour 3GB,

Merci de ton retour rapide

Lorsque je change la date d'expédition sur l'onglet base, je verrouille la feuille avec la macro "enregistrer zone de tri" puis sélectionne la macro "enregistrer expédition".

Cette macro ne fonctionne pas, elle m'indique "Erreur d'exécution '9' : l'indice n'appartient pas à la sélection"

Peux-tu regarder le problème

Merci à toi

En l'état, le code ne peut pas marcher puisqu'il n'y a pas les feuilles qui sont utilisées dans le code...

Salut LEVIEL,

Comme je t'ai dit sur mon précédent commentaire, le code permet de manipuler les feuilles 4 (celle copiée) et 5 (celle obtenue) entre autres. Je n'ai fait que réorganiser et ai supposé qu'il faudrait toujours copier la feuille en 4è position. De mémoire, il y a aussi une feuille "Base (3)" qui est absente.

Edit : En cas d'erreur, peux-tu ouvrir l'éditeur et me dire sur quelle ligne elle se trouve ? Mais, tu verras, ce sera au niveau d'une ligne With Sheets(..) ou Sheets(..)....

Bonjour,

Pour créer les macros, j'ai utilisé "enregistrer une macro".

Mon objectif est de faciliter l'utilisation pour des personnes en situation de handicap. Le fichier est en mode partagé et il concerne du linge sans code barre.

A partir de la base, le personnel en réception notifie le linge reçu en indiquant :

- la date de réception,

- leur initiale

- La Qté client si le client leur a transmis une feuille indiquant les quantités données et le type de vêtement.

Ensuite, il enregistre afin que la personne en réception ne puisse pas modifier les données ou erreur de manipulation. case B4-B10-A14 à A37 - B14 à B37 - C14 à C37 - F14 à F37

Lorsque le linge est lavé et plié, la personne en expédition doit rassembler le linge reçu en se référant à l'onglet base.

Lorsque tout le linge est rassemblé, elle vient indiquer les quantités à livrer dans la colonne EXPEDITION-Qté expédié, la date d'expédition et ces initiales.

Elle utilise la colonne commentaires, pour indiquer divers commentaires comme un linge qui ne sera pas livré pour divers raison (relavage, couture-réparation.......)

Lorsque le linge est prêt, elle sélectionne le bouton "Enregistrer expédition". L'onglet base est copié et déplacé, renommer avec la date d'expédition et verrouillé ; en même temps l'onglet base se vide des indications en case B4-B6-B10-F10 - A14 à A37 - B14 à B37 - C14 à C37 - E14 à E 37 - G14- G37 et déverrouille les cases B4-B10-A14 à A37 - B14 à B37 - C14 à C37 - F14 à F37

Avec ce petit cahier des charges, tu pourras plus facilement modifier les macros

Bonjour 3B,

J'ai travaillé à partir de tes modifications qui m'ont éclairé sur mes besoins.

J'ai réussi à réaliser ce que je voulais

Je t'en remercie

Salut LEVIEL,

Merci de ce retour, je suis content que tu y sois parvenu !

Bonne journée,

Rechercher des sujets similaires à "erreur execution 1004 renommer onglet"