VBA- Masquer une ligne dans plusieur feuilles

Adrien -  
 Adrien -
Bonjour,

Je suis novice en VBA et je souhaiterais masquer une ligne contenant le numéro de projet à masquer (entré par l'utilisateur) dans plusieurs feuilles du même fichier.
Je ne comprend pas pourquoi mon code ci-dessous ne fonctionne pas. En effet, la ligne va se masquer correctement dans la page où le bouton est présent, ensuite la fonction me permet d'accéder/activer à la page suivante (Etape1), mais là la fonction s'intérompt et m'indique « Erreur d'execution '91' - Variable objet ou Variable de bloc With non définie ».

Voici le code en question.


Sub Masquer_Projet()

Dim ProjectNo

ProjectNo = InputBox("Entrez le numéro de projet terminé.")

If ProjectNo = "" Then
MsgBox "Information requise"
Exit Sub
End If

If Cells.Find(What:=ProjectNo) Is Nothing Then
MsgBox "Numéro de projet non existant"
Exit Sub
End If

Cells.Find(What:=ProjectNo).EntireRow.Hidden = True

ThisWorkbook.Worksheets("Etape1").Activate
Cells.Find(What:=ProjectNo).EntireRow.Hidden = True

ThisWorkbook.Worksheets("Etape2").Activate
Cells.Find(What:=ProjectNo).EntireRow.Hidden = True


End Sub




Merci d'avance pour votre aide.

Adrien.
A voir également:

2 réponses

tsunamidream Messages postés 262 Date d'inscription   Statut Membre Dernière intervention   59
 
Bonjour,

Je crois qu'il faut indiquer le nom de la feuille générique pas le nom qui à été donné à la feuille.

Si j'ai trois feuille : test, CCM et compta
je ne les active pas avec :
ThisWorkbook.Worksheets("test").Activate
ThisWorkbook.Worksheets("CCM").Activate ....
mais j'utilise le nom que excel donne à la feuille :
ThisWorkbook.Worksheets("Feuil1").Activate
ThisWorkbook.Worksheets("Feuil2").Activate ......

En espèrant que cela resoude votre problème.
0
Adrien
 
Bonjour,

Merci pour ton aide, mais dans mon cas l'activation de la feuille n'est pas le problème.

Le problème se situe au niveau de la ligne suivante, après l'activation de la feuille "Etape1" :

Cells.Find(What:=ProjectNo).EntireRow.Hidden = True
0