VBA - Problème bizarre
Salut Dan,
Merci d'essayer d'encore m'aider. J'ai remplacé la ligne .Range("E4").Locked False par .Range("E4").Locked = False.
Ca bloque alors sur .Range("B4:C4 , E4").Interior.ColorIndex = 20.
J'ai donc décomposé cette ligne en deux lignes .Range("B4:C4").Interior.ColorIndex = 20 et .Range("E4").Interior.ColorIndex = 20.
Ca bloque alors parfois sur la ligne .Range("D3:J3, A4:K5 , B6:K6").ClearContents que j'ai également séparée en trois.
Alors ça ne bloque plus, mais la liste de validation de la colonne C de la feuille Saisie est vide. Lorsque je vais voir sous "Gestionnaire des noms", il y a des #REF! à la place des références voulues.
Le fichier Validation 2018 ci-joint est présenté après toutes ces corrections.
Pour répondre à tes autres questions, lorsque ça bloquait avant ces corrections, le fichier était sur la feuille "Saisie". J'ai la version 2003 au boulot et sur un ordi portable assez ancien ; là, pas de problème. A la maison, j'ai la version 2007 et c'est là que ça bloque. J'ai déjà essayé de réinstaller la version 2007 sur cet ordinateur, mais ça ne change rien.
A te relire.
re
la liste de validation de la colonne C de la feuille Saisie est vide. Lorsque je vais voir sous "Gestionnaire des noms", il y a des #REF! à la place des références voulues.
Je suppose que tu parles de la liste déroulante dont la ref est "Liste_Validation_Dicastères". Si oui, je ne vois pas cette ref dans ton fichier via Insertion / Nom / définir
Si tu as des #ref, c'est que tu as perdu tes formules lors d'une modification de fichier.
Peux-tu me dire à quoi doit correspondre ce nom.
A te relire
Salut Dan,
Merci pour ta réponse.
La liste des dicastères des colonnes B et C de la feuille Base est réactualisée soit par l’intermédiaire du bouton « Ajouter un dicastère en cours d’année », soit lors de la création d’un nouveau décompte pour une nouvelle année. Dans les deux cas, ça passe par le UserForm1.
Lorsque cette liste est réactualisée, les références du nom Liste_Validation_Dicastères devraient être également réactualisées par la ligne ActiveWorkbook.Names("Liste_Validation_Dicastères").RefersToR1C1 = "=OFFSET(Base!R4C3,,,COUNTA(Base!R4C3:R41C3),1)". Ceci semble ne plus fonctionner.
Puis cette liste devrait être utilisable dans la colonne C de la feuille « Saisie » (actuellement la liste est vide).
Avant que j’aie ces problèmes de blocage suite à la mise en place des formules de la feuille « Récapitulation » - à la base du présent fil - la réactualisation de la liste fonctionnait très bien.
A te relire
re
Dans ton Userform1, la macro Private Sub CommandButton1_Click() ne contient plus la ligne permettant de réactualiser ta liste.
Je t'avais proposé une solution dans mon post du 21 Déc 2011, 14:45.
Là dans le fichier Vacation 2018 je vois que tu n'as prit qu'une partie du code proposé. Y a-t-il une raison ?
Vois cette ligne manquante et qui refait ta liste --> activeworkbook............
A te relire
Salut Dan,
Apparemment ça fonctionne !
En fait, tu avais placé une réponse le 21 décembre à 14:45 sur le Forum puis tu m'as écrit en privé à 14:47. Dans ce deuxième message, tu avais joint un code et je m'étais demandé si tu y avais apporté une correction intentionnelle. J'ai donc utilisé ce deuxième code, ce que j'ai précisé dans ma réponse sur le Forum le même soir à 23:04.
J'avoue par contre qu'effectivement j'aurais tout d'abord dû comparer un peu mieux ces deux codes afin de voir la seule différence qu'ils contenaient et que j'aurais dû penser d'essayer les deux versions que tu m'avais proposées. A ma décharge, je dois dire que j'ai découvert que plusieurs jours plus tard que la liste n'était pas réactualisée, après que j'ai résolu avec ton aide tous ces autres problèmes à propos des passages qui bloquaient ; je n'ai alors plus pensé à ces deux versions.
J'espère maintenant de tout cœur que je ne vais pas découvrir d'autres problèmes aussi bizarres en continuant d'élaborer ce projet (je dois encore mettre en place les récapitulatifs individuels en fin d'année) et tiens à remercier ici tous ceux qui ont contribué à résoudre mon problème.
Un grand merci spécial à toi, Dan, pour ton infinie patience.
Bonnes salutations à vous tous.
NB : Alons, soyons fous ! Indiquons ce fil comme résolu