liaison dans un planning perpetuel

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 !

wrap food

XLDnaute Occasionnel
bonjour a tous ,
Voila mon probléme ,
j 'ai un planning perpetuel jusque la tous va bien ( feuille saisie).
je souhaiterais pouvoir cliquer sur le 1 du mois et qu'une feuille (1) qui est masqué dans le dossier apparése.
Bien sur cette opération devra etres possible sur tous les autres jours du mois (2 .3....... 31)

si une personne a la solution
merci
part avance
 
Re : liaison dans un planning perpetuel

Bonsoir wrap food

Un essai de code ci dessous que j'ai mis dans le classeur ci-joint, à adapter (je n'ai mis que 5 jours et 5 onglets), au cas où cela puisse t'être utile:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B3:F3")) Is Nothing And Target.Count = 1 Then
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> "calendrier" Then Sheets(i).Visible = False
        If Sheets(i).Name = CStr(Target.Value) Then Sheets(i).Visible = True
    Next i
End If
End Sub

Bonne soirée,

mth
 

Pièces jointes

Re : liaison dans un planning perpetuel

bonsoir wrap food

Il n'y a que ça sur cette feuille "calendrier", en cliquant sur les chiffres 1 2 3 correspondant aux noms des onglets, l'onglet choisi s'affiche et les autres se masquent (sauf l'onglet calendrier qui reste toujours affiché)
Pour que cela fonctionne, il faut que les macros soient activées, le code du post précédent est le code de la feuille "calendrier".

Bien à toi

mth

edit: Bonsoir Staple 🙂
 
Dernière édition:
Re : liaison dans un planning perpetuel

Bonsoir

Une autre façon de voir
Code:
Private Sub Workbook_Open()
Dim s  As Worksheet
For Each s In Worksheets
s.Visible = (s.Name = Day(Date))
Next
End Sub
A mettre dans ThisWorkBook

A l'ouverture du classeur, seule la feuille du jour sera visible

(Chaque onglet a pour nom un chiffre de 1 à 31)

EDITION: Bonsoir mth, je te fais pas la bise car je dois puer de la g.eu.e, vu que wrap food n'a pas daigné me faire un poutou 🙄
 
Dernière édition:
Re : liaison dans un planning perpetuel

bonsoir,

pardon a staple 1600 merci

si vous avez la solution à un nouveau probleme
soit mth ou staple 1600

volia
Je ne comprends pas (c est pas étonnant) j ai juste modifier la feuille saisie et modifié le code en conséquance et ça ne fonctionne pas.
ci-joint fichier

par avance merci

ps
une fois le bon onglet ouvert peut on aller directement dessus

merci encore
 

Pièces jointes

Dernière édition:
Re : liaison dans un planning perpetuel

Re et merci Stalpe 1600

j'ai remplacé " test " par "saisie" dans le code mais sa bloque
VBA s'ouvre et surligne :Sheets(i).Visible = False

volia le code que j 'ai :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("c2:h8")) Is Nothing And Target.Count = 1 Then
For i = 1 To Sheets.Count
If Sheets(i).Name <> "saisie" Then Sheets(i).Visible = False
If Sheets(i).Name = CStr(Target.Value) Then Sheets(i).Visible = True
Next i
End If
End Sub

Merci
 
Re : liaison dans un planning perpetuel

Re


Ta feuille se nomme Saisie pas saisie, non ?

et en déclarant ta variable i ce serait mieux
Code:
Dim i As Byte

(à mettre en début de code, juste en dessous de Sub .... )
 
Dernière édition:
Re : liaison dans un planning perpetuel

Bonsoir tout le monde 🙂🙂

Le code n'était effectivement pas si à jour que ça , mais surtout les valeurs du tableau ne correspondaient pas du tout aux noms des onglets (dates au format jj, au lieu de 1, 2 3 etc ...) , du coup ça marchait moins bien.
J'ai revu les formules de l'onglet "saisie" (je te laisse continuer pour les valeurs supérieures à la fin du mois, ou remettre tes mises ne forme conditionnelles que j'ai retirées)

Vois si cela peut t'être utile,

Bonne soirée,

mth
 

Pièces jointes

Dernière édition:
Re : liaison dans un planning perpetuel

j' ai modifier le code comme suit

mais je pense que ça doit pas etre cela, je n'ai que la feuille "saisie" qui apparait

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Byte
If Not Intersect(Target, Range("c2:h8")) Is Nothing And Target.Count = 1 Then
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Saisie" Then Sheets(i).Visible = False
If Sheets(i).Name = CStr(Target.Value) Then Sheets(i).Visible = True
Next i
End If
End Sub

je sais je suis un nul

désolé
 
- 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

P
  • Question Question
Réponses
5
Affichages
1 K
pacalito85
P
Retour