ouvrir une feuille avec formule

  • Initiateur de la discussion Initiateur de la discussion tinet
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tinet

XLDnaute Impliqué
Bonjour à tous,

existe-t-il un moyen d'ouvrir des feuilles masquées avec une fonction.

Exemple :

Si sur ma feuille principale le champ A1 si il est rempli il ouvre à ce moment là la feuille masquée feuille (1)
le nom de la feuille est sur la même ligne en O1
 
Dernière édition:
Re : ouvrir une feuille avec formule

Bonjour tinet
Essayez ceci :
Code:
[COLOR=DarkSlateGray][B]Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Cells(1, 1).Address(0, 0) = "P1" Then
    On Error Resume Next
    With Sheets([O1].Value)
      On Error Resume Next
      If IsEmpty(Target.Cells(1, 1)) Then .Visible = xlSheetHidden Else .Visible = xlSheetVisible
    End With
    On Error GoTo 0
  End If
End Sub[/B][/COLOR]
à placer dans le module de la feuille où est placé le nom de la feuille à afficher ou à masquer.
ROGER2327
#4715


Lundi 9 Sable 138 (Saint Sagouin, homme d'Etat, SQ)
19 Frimaire An CCXIX
2010-W49-4T10:14:23Z
 
Re : ouvrir une feuille avec formule

Merci Roger,

et si je veux reproduire la même fonction sur plusieurs lignes
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1).Address(0, 0) = "P1" Then
On Error Resume Next
With Sheets([o1].Value)
On Error Resume Next
If IsEmpty(Target.Cells(1, 1)) Then .Visible = xlSheetHidden Else .Visible = xlSheetVisible
End With
On Error GoTo 0
End If
End Sub
 
Re : ouvrir une feuille avec formule

Re…
Quelque chose comme ceci :
Code:
[COLOR=DarkSlateGray][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim oCel As Range, Zone As Object
  Set Zone = Intersect(Target, Columns("P:P"))[COLOR=DarkOrange] 'Adapter à la zone de saisie[/COLOR]
  If Not Zone Is Nothing Then
    For Each oCel In Zone.Cells
      On Error Resume Next
      With Sheets(oCel.Offset(0, -1).Text)
        On Error Resume Next
        If IsEmpty(oCel) Then .Visible = xlSheetHidden Else .Visible = xlSheetVisible
      End With
      On Error GoTo 0
    Next oCel
  End If
End Sub[/B][/COLOR]
Toute la colonne P est utilisable. On peut limiter à une partie seulement en remplaçant Columns("P😛") par Range("P1😛9") pour limiter la saisie à la plage P1😛9.
ROGER2327
#4719


Lundi 9 Sable 138 (Saint Sagouin, homme d'Etat, SQ)
19 Frimaire An CCXIX
2010-W49-4T17:04:28Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
168
Retour