Erreur 1004 impossible de définir la propriété Hidden de la classe Range

Bonjour à tous et à chacun,

J’ai un fichier comptable Excel qui permet d’inscrire les dépenses jour par jour sur 25 jours. Ce fichier est trop lourd pour le mettre en pièce jointe ! (je peux l’envoyer par e-mail à la personne qui peut prendre du temps pour m’aider). J’essaye déjà d’expliquer sans le fichier.

Afin de faciliter l’utilisation de ce fichier, il est possible de masquer les semaines écoulées. J’utilise pour cela 4 boutons.

Pour chaque bouton, le CODE VBA est le même. Il y a juste les variables qui changent (les numéros de lignes)

Private Sub ToggleButton1_Click()

Me.Unprotect "XXX"

Dim Msg

Msg = Array("Masquer jours 1 à 7", "Afficher jours 1 à 7")

Me.ToggleButton1.Caption = Msg(Abs(Me.ToggleButton1.Value))

Rows("10:107").Hidden = Me.ToggleButton1.Value

Me.Protect "XXX"

End Sub

Cela fonctionnait très bien jusqu'à présent.

Cette semaine, j’ai modifié le fichier en ajoutant un tableau à partir de la ligne 411. Je n’ai rien modifié d’autre a priori de la ligne 1 à la ligne 410 où agissent les VBA pour masquer les lignes si ce n’est ajouté un lien hypertexte situé en haut à gauche de la feuille relatif au nouveau tableau en bas de la feuille.

Depuis cette modification, les VBA correspondants aux quatre boutons ne fonctionnent plus. Lorsque je clique sur l’un d’entre eux, j’obtiens le message suivant : "Erreur 1004 impossible de définir la propriété Hidden de la classe Range"

Au débogage, c’est cette ligne qui est surlignée :

Rows("10:107").Hidden = Me.ToggleButton1.Value

Merci de tenter de m'aider. Je suis désolé de ne pouvoir joindre le fichier. Comme je l'ai dit plus haut, je peux néanmoins l'envoyer par e-mail.

Cordialement,

Patrick

Bonjour,

C'est probablement le mot de passe de la feuille qui n'est pas bon ... les 3 X sont en majuscule dans le code.

Sinon, ça fonctionne bien ... voir exemple...

ric

Merci Ric pour ta réponse.

J'utilise bien le même mot de passe que celui indiqué dans la VBA à savoir, 3 X majuscules.

En fait, lorsque je modifie un fichier Excel, je travaille d'abord sur une copie au cas où je me plante quelque part…

Je peux comparer le fichier initial où la même VBA masquer/afficher fonctionne toujours très bien et la copie (avec le même mot de passe) dans laquelle j'ai apporté une modification. Dans la copie, la VBA masquer/afficher ne fonctionne plus alors que je ne suis pas intervenu sur les lignes concernées par la VBA. Mystère !!!

Cordialement,

Patrick

Bonjour,

... je travaille d'abord sur une copie …

C'est sage...

... Dans la copie, la VBA masquer/afficher ne fonctionne plus alors que je ne suis pas intervenu sur les lignes concernées par la VBA ...

Tu as bien vérifié le mot de passe de la copie ?

Il n'y a pas de cellules fusionnées dont une partie serait sur la ligne 10 ou sur la ligne 107 ?

Sur la copie, si tu ôtes la protection de la feuille et que tu mets en commentaire les lignes dans le code s'y rapportant ... Est-ce le même résultat ?

ric

Merci encore Ric,

Si le mot de passe de protection de la feuille que je rentre n’était pas le bon, Excel m’interdirais l’accès

Les quatre VBA identiques masquer/afficher (les 4 semaines) concernent les lignes 10 à 366. J'ai modifié mon fichier à partir de la ligne 411. Donc, je n'ai vraiment pas pu modifier par erreur des cellules sur lesquelles agissent les VBA.

"si tu ôtes la protection de la feuille et que tu mets en commentaire les lignes dans le code s'y rapportant" Je ne comprends pas quelles lignes devrais-je essayer de mettre en commentaire et où devrais-je le mettre ?

Je pense que je vais être obligé de repartir d'une nouvelle copie de mon fichier initial et de refaire patiemment les vérifications tout en contrôlant à chaque étape que les 4 VBA continue à fonctionner !!! Je te tiens informé.

Cordialement,

Patrick

Bonjour,

Si la tâche est importante pour refaire le fichier de A à Z, tu peux me le passer en toute confidentialité en message privé.

Je vais tenter de trouver l'erreur. Après, je détruis consciencieusement le fichier.

ric

Merci Ric,

Tout d'abord, je pense avoir trouvé le problème….

Je n'ai pas eu trop de mal (mais de la constance !) pour recommencer la modification de mon fichier. En bas de ma feuille, j'ai refait le tableau qui m'importait, en vérifiant bien que les VBA fonctionnaient…)

Puis j'ai refait le lien hypertexte en haut de page pour descendre directement à ce tableau + le lien hypertexte pour remonter en haut de page. Et, là,.... les VBA ne fonctionnaient plus !!!!! J'ai annulé au fur et à mesure les ajouts des liens hypertextes, reverrouiller les cellules qui permettaient aux liens de fonctionner… Et bien les VBA refonctionnaient !!!

Bref, pour faire fonctionner le lien hypertexte chargé de remonter en haut de page, j'utilisais la cellule A10 !!! Donc une cellule de la ligne 10 sur laquelle la VBA agissait et ça ne devait pas plaire à la VBA. Pourtant, un autre lien hypertexte utilise la même cellule A10 pour remonter en haut de la feuille et n'empêche absolument pas la VBA de fonctionner !!

Et pourtant, c'est certain que c'est l'utilisation de cette cellule A10 dans le second lien hypertexte qui me produit l'erreur 1004 mentionnée.

Donc, c'est réparé mais sans comprendre cette différence dans les liens hypertextes !!

J'ai appris par ton message l'existence de ce site de partage de fichier. Merci. J'ai compris qu'une fois le fichier téléchargé sur le site, on récupérait un lien à envoyer à son interlocuteur. Mais, si par exemple, je voulais que tu reçoives ce fichier, où dois-je déposer le lien pour que tu le récupères ?? Ici même sur ce fil de ma discussion ou bien ailleurs ?? (Je voudrais faire une modification sur une autre VBA et je crains de ne pas être capable d'improviser dans le domaine….Alors si la patience des personnes compétentes de ce forum n'est pas à bout, je pensais que je me retournerais vers elles pour avoir de l'aide...)

Je te remercie du temps que tu as pris pour chercher sur mon problème. Ton insistance sur le mot de passe m'a amené à réfléchir sur le verrouillage de cellule dans "Format de cellule" et faire le lien avec cette cellule A10 lorsque j'ai constaté que la VBA était de nouveau en panne !!

Cordialement,

Patrick

Bonjour,

... où dois-je déposer le lien pour que tu le récupères ?? Ici même sur ce fil de ma discussion ou bien ailleurs ?? ...

Si c'est un fichier anonymisé, tu le colles ici où tout le monde peut le voir.

Sinon, clique sur l'avatar de la personne à qui tu veux écrire un message privé.

Dans la fenêtre du profil, clique sur "Envoyer un message privé".

ric

Rechercher des sujets similaires à "erreur 1004 impossible definir propriete hidden classe range"