Maintenant que grace à votre aide j'ai pu accéder aux macros en arrière plan de mon fichier (récupéré d'un consultant qui n'est plus dans ma société) je constate que je suis encore plus embarrassé.
J'ai réussi à faire évoluer le fichier comme je voulais, mais une colonne résiste encore et toujours à l'envahisseur.
En effet, dans le deuxième onglet (ListeChantiers), la colonne B contient des champs particulier. Si je change leur valeur, cela provoque une erreur dans le déroulement de l'application derrière le bouton "Ajout d'un chantier" (dans l'onglet acceuil).
Je m'attendais plutot à des champs inscrits "en dur" dans le code, et je ne sais pas trop par quel bout prendre l'ensemble pour me dépatouiller de tout ceci.
Vos conseils sont, une fois n'est pas coutume, sont le bienvenue Je vous joinds le fichier pour plus de clareté. Il suffit de clicker sur Ok quand on vous demande le MdP dans la partie visual basic editor.
Re : Difficulté face à la reprise d'un fichier et du code VBA derrière
Bonjour Salhem,
Il faut que tu regardes les noms définis pour la feuille Listechantiers:
* Clicques sur cette feuille
* Fais insertion nom définir
Lorsque tu choisis un chantier par exemple "TEST2", la liste des sous-chantiers va correspondre au contenu du nom qui se situe en face (ici, "Industrialisation" et tu peux cliquer sur industrialisation dans la fenêtre de noms puis sur "Fait référence à" pour qu'Excel te montre la plage concernée.
Chaque nom dans la colonne B fait référence à une plage des colonnes C à H:
B2="Changements" ==> colonne C
B3="Industrialisation" ==> colonne D
B4="Performances" ==> colonne E etc...
Si tu changes un nom, il faut créer une plage nommée avec ce nom en utilisant "Insertion nom définir".
Si tu ajoutes un nom, il faut créer une nouvelle colonne avec les sous-chantiers et la plage nommée correspondante.
Essaye déjà de faire quelques modifs et renvoie-nous un fichier modifié si tu as d'autres questions.
Il faut déprotéger la feuille pour avoir accès à "Insertion nom définir", le mot de passe est en clair dans le code VBA dans la procédure Workbook-open: