Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Masquer ligne n°2 sur certaines feuilles.

LILOUM44

XLDnaute Nouveau
Bonjour à toutes et tous,

Je souhaiterais une aide pour créer une macro afin de masquer la ligne n°2 sur les feuilles suivantes :
- ADMINISTRATEUR
- TEST
- FORMULAIRE.

De plus, pourrez vous également me communiquer la macro inverse afin d'annuler la première macro et donc afficher la ligne n°2 sur ces 3 feuilles.

Merci d'avance

A très bientôt.

Didier
 

CBernardT

XLDnaute Barbatruc
Re : Masquer ligne n°2 sur certaines feuilles.

Bonsoir LILOUM44,

Esssaye cette macro :

Sub MasquerDemasquer()
Dim i As Byte

For i = 1 To Sheets.Count ' Passe en revue toute les feuilles
With Sheets(i)
If .Name = "ADMINISTRATEUR" Or .Name = "TEST" Or .Name = "FORMULAIRE" Then ' Condition de travail dans une feuille
If .Rows(2).EntireRow.Hidden = False Then .Rows(2).EntireRow.Hidden = True ' Masque la ligne
If .Rows(2).EntireRow.Hidden = True Then .Rows(2).EntireRow.Hidden = False 'Démasque la ligne
End If
End With
Next i
End Sub

Cordialement

Bernard
 

LILOUM44

XLDnaute Nouveau
Re : Masquer ligne n°2 sur certaines feuilles.

Merci Bernard pour ta réponse mais étant novice dans VBA je n'arrive pas à l'incorporer dans ma macro actuelle... Peux tu m'aider .
Voici ma macro actuelle (merci pour ton aide) :

Sub DIF_test_dd()

Dim MyMtPss As String
MyMtPss = Application.InputBox("Mot de passe pour continuer")
If MyMtPss <> "xxxxx" Then Exit Sub
MsgBox "Attention, la macro vient d'être éxécutée"
Application.ScreenUpdating = False

Application.ScreenUpdating = False
For Each Feuil In Worksheets
Feuil.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="xxxxx"

' Masquer feuille suite Diffusion
If Feuil.Name = "ESPACE ADMINISTRATEUR" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "structure" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "ACCUEIL" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "ACCUEIL GENERAL" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "MISSIONS ADMINISTRATEURS" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "Feuil3" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "DOCS DIVERS" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "GUIDE METIER" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "GUIDE METIER xx" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "REJETS" Then Feuil.Visible = xlSheetHidden

Next Feuil
End Sub
 

CBernardT

XLDnaute Barbatruc
Re : Masquer ligne n°2 sur certaines feuilles.

Bonsoir LILOUM44,

La macro suivante est un essai avec ce que j'ai pu comprendre de ton projet :

Sub DIF_test_dd()
Dim MyMtPss As String, Feuil As Worksheet
Dim i As Integer, Lig As Long, tablo

MyMtPss = Application.InputBox("Mot de passe pour continuer")
If MyMtPss <> "xxxxx" Then Exit Sub

Application.ScreenUpdating = False

For Each Feuil In Sheets ' Boucle sur les feuilles

Feuil.Unprotect Password:="xxxxx" ' Suppression de la protection

' Masquer feuille suite Diffusion
If Feuil.Name = "ESPACE ADMINISTRATEUR" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "structure" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "ACCUEIL" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "ACCUEIL GENERAL" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "MISSIONS ADMINISTRATEURS" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "Feuil3" Then Feuil.Visible = xlSheetHidden
If Feuil.Name = "DOCS DIVERS" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "GUIDE METIER" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "GUIDE METIER xx" Then Feuil.Visible = xlVeryHidden
If Feuil.Name = "REJETS" Then Feuil.Visible = xlVeryHidden

If Feuil.Name = "RepListeQuellensteuer" Then
With Feuil
Lig = .Range("A65536").End(xlUp).Row ' Dernière ligne du tableau
For i = Lig To 11 Step -1 ' Passage en revue
If .Cells(i, 7) <> 0 And .Cells(i, 8) <> 0 Then
If Round(.Cells(i, 8) / .Cells(i, 7), 3) <> 0.1 And Round(.Cells(i, 8) / .Cells(i, 7), 3) <> 0.045 Then
tablo = Range(.Cells(i, 1), .Cells(i, 10))
Rows(i).Delete
Lig = .Range("A65536").End(xlUp).Row + 1
Range(.Cells(Lig, 1), .Cells(Lig, 10)) = tablo
.Cells(Lig, 9) = "?????"
End If
End If
Next i
End With
End If
'Feuil.Visible = xlVeryHidden ' Masquer la feuille
'Feuil.Protect Password:="xxxxx", DrawingObjects:=True, Contents:=True, Scenarios:=True ' Protection
Next Feuil

MsgBox "La macro vient d'être exécutée avec succès !"
End Sub

Cordialement

Bernard
 

LILOUM44

XLDnaute Nouveau
Re : Masquer ligne n°2 sur certaines feuilles.

non désolé mais ça ne marche pas j'ai l'impression qu'elle boucle car vba ne réponds pas....

Ta macro que tu m as communiqué fonctionne mais après je n'arrive pas à l'insérer.....

A_u secours
 

CBernardT

XLDnaute Barbatruc
Re : Masquer ligne n°2 sur certaines feuilles.

Bonsoir LILOUM44,

Rien ne sers d'appeler au secours !!!

Si tu veux qu'un forumeur t'aide pour adapter la procédure à ton fichier, il serait bon que tu le mettes en ligne sur le forum en fichier Zip.

Cordialement

Bernard
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…