VBA- Masquer une ligne dans plusieur feuilles
Adrien
-
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.
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.
2 réponses
-
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. -
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