Bonjour,
je voudrais simplement en fonction du mois (Case A2) qui est sous forme
numérique, masquer ou afficher les onglets correspondant aux jours
voici la forme du classeur
N°Onglet - Nom
1 - Configuration
2 - 01
3 - 02
4 - 03
5 - 04
etc....
jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie
pour faire une mise à jour)
Merci d'avance
ceci m'aiderait vraiment
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ange Ounis
Si j'ai bien compris :
''''''''''''dans un module ordinaire : Sub FeuillesMois() Dim DernierJour, sht As Worksheet DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value + 1, 0)) Application.ScreenUpdating = False For Each sht In Sheets sht.Visible = True Next sht If DernierJour <> 31 Then For i = DernierJour + 1 To 31 Sheets(Format(i, "00")).Visible = False Next i End If End Sub
''''''''''''dans le module de la feuille de configuration : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then FeuillesMois End Sub
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
Si j'ai bien compris :
''''''''''''dans un module ordinaire :
Sub FeuillesMois()
Dim DernierJour, sht As Worksheet
DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value +
1, 0))
Application.ScreenUpdating = False
For Each sht In Sheets
sht.Visible = True
Next sht
If DernierJour <> 31 Then
For i = DernierJour + 1 To 31
Sheets(Format(i, "00")).Visible = False
Next i
End If
End Sub
''''''''''''dans le module de la feuille de configuration :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then FeuillesMois
End Sub
----------
Ange Ounis
----------
Bonjour,
je voudrais simplement en fonction du mois (Case A2) qui est sous forme
numérique, masquer ou afficher les onglets correspondant aux jours
voici la forme du classeur
N°Onglet - Nom
1 - Configuration
2 - 01
3 - 02
4 - 03
5 - 04
etc....
jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie
pour faire une mise à jour)
Merci d'avance
ceci m'aiderait vraiment
''''''''''''dans un module ordinaire : Sub FeuillesMois() Dim DernierJour, sht As Worksheet DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value + 1, 0)) Application.ScreenUpdating = False For Each sht In Sheets sht.Visible = True Next sht If DernierJour <> 31 Then For i = DernierJour + 1 To 31 Sheets(Format(i, "00")).Visible = False Next i End If End Sub
''''''''''''dans le module de la feuille de configuration : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then FeuillesMois End Sub
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
Ange Ounis
Ma proposition suppose qu'en A2 on ait le chiffre du mois (1 pour janvier, 2 pour février, etc.).
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
Ma proposition suppose qu'en A2 on ait le chiffre du mois (1 pour janvier, 2
pour février, etc.).
----------
Ange Ounis
----------
Bonjour,
je voudrais simplement en fonction du mois (Case A2) qui est sous forme
numérique, masquer ou afficher les onglets correspondant aux jours
voici la forme du classeur
N°Onglet - Nom
1 - Configuration
2 - 01
3 - 02
4 - 03
5 - 04
etc....
jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie
pour faire une mise à jour)
Merci d'avance
ceci m'aiderait vraiment
Ma proposition suppose qu'en A2 on ait le chiffre du mois (1 pour janvier, 2 pour février, etc.).
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
Sanaell
C'est parfait.
mais j'ai oublié qqch
je n'arrive pas avec le Rows... à faire qqch
sachant que mon document contient 32 onglets, (config + les jours du mois) et que dans ces onglets (jour du mois) j'ai 31 lignes chaque jour :)
les lignes vont de 4 à 35 la ligne 36 étant une valeur
je voudrais afficher toutes les lignes par défaut, puis cacher uniquement les dernieres lignes si elles n'existent pas dans le mois
j avais fait qqch avec For each rw in sht.Rows.... mais cela ne fonctionne pas rw.Hidden = True... enfin voilà Merci si tu as des lumières je voulais le mettre dans ton code
For Each sht In Sheets sht.Visible = True ------------ICI--------------
Next sht
Si j'ai bien compris :
''''''''''''dans un module ordinaire : Sub FeuillesMois() Dim DernierJour, sht As Worksheet DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value + 1, 0)) Application.ScreenUpdating = False For Each sht In Sheets sht.Visible = True Next sht If DernierJour <> 31 Then For i = DernierJour + 1 To 31 Sheets(Format(i, "00")).Visible = False Next i End If End Sub
''''''''''''dans le module de la feuille de configuration : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then FeuillesMois End Sub
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
C'est parfait.
mais j'ai oublié qqch
je n'arrive pas avec le Rows... à faire qqch
sachant que mon document contient 32 onglets, (config + les jours du mois)
et que dans ces onglets (jour du mois) j'ai 31 lignes chaque jour :)
les lignes vont de 4 à 35
la ligne 36 étant une valeur
je voudrais afficher toutes les lignes par défaut, puis cacher uniquement
les dernieres lignes si elles n'existent pas dans le mois
j avais fait qqch avec
For each rw in sht.Rows.... mais cela ne fonctionne pas
rw.Hidden = True...
enfin voilà
Merci si tu as des lumières
je voulais le mettre dans ton code
For Each sht In Sheets
sht.Visible = True
------------ICI--------------
Next sht
Si j'ai bien compris :
''''''''''''dans un module ordinaire :
Sub FeuillesMois()
Dim DernierJour, sht As Worksheet
DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value +
1, 0))
Application.ScreenUpdating = False
For Each sht In Sheets
sht.Visible = True
Next sht
If DernierJour <> 31 Then
For i = DernierJour + 1 To 31
Sheets(Format(i, "00")).Visible = False
Next i
End If
End Sub
''''''''''''dans le module de la feuille de configuration :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then FeuillesMois
End Sub
----------
Ange Ounis
----------
Bonjour,
je voudrais simplement en fonction du mois (Case A2) qui est sous forme
numérique, masquer ou afficher les onglets correspondant aux jours
voici la forme du classeur
N°Onglet - Nom
1 - Configuration
2 - 01
3 - 02
4 - 03
5 - 04
etc....
jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie
pour faire une mise à jour)
Merci d'avance
ceci m'aiderait vraiment
sachant que mon document contient 32 onglets, (config + les jours du mois) et que dans ces onglets (jour du mois) j'ai 31 lignes chaque jour :)
les lignes vont de 4 à 35 la ligne 36 étant une valeur
je voudrais afficher toutes les lignes par défaut, puis cacher uniquement les dernieres lignes si elles n'existent pas dans le mois
j avais fait qqch avec For each rw in sht.Rows.... mais cela ne fonctionne pas rw.Hidden = True... enfin voilà Merci si tu as des lumières je voulais le mettre dans ton code
For Each sht In Sheets sht.Visible = True ------------ICI--------------
Next sht
Si j'ai bien compris :
''''''''''''dans un module ordinaire : Sub FeuillesMois() Dim DernierJour, sht As Worksheet DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value + 1, 0)) Application.ScreenUpdating = False For Each sht In Sheets sht.Visible = True Next sht If DernierJour <> 31 Then For i = DernierJour + 1 To 31 Sheets(Format(i, "00")).Visible = False Next i End If End Sub
''''''''''''dans le module de la feuille de configuration : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then FeuillesMois End Sub
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
Ange Ounis
les lignes vont de 4 à 35 la ligne 36 étant une valeur
Si les lignes en question correspondent bien aux 31 jours maximum d'un mois, alors c'est +tôt 4 à 34 ou 5 à 35. Ceci dit, pour cacher les lignes qui n'existent pas dans un mois (les dates de 1 à 31 vont des lignes 5 à 35 :
Sub essai() CacheJours CByte(InputBox("mois ?")) End Sub
Sub CacheJours(Mois) Dim DerJourMois, i As Long Rows(5 & ":" & 35).Hidden = False DerJourMois = Day(DateSerial(Year(Date), Mois + 1, 0)) If DerJourMois = 31 Then Exit Sub For i = 35 To DerJourMois + 5 Step -1 Range("A" & i).EntireRow.Hidden = True Next End Sub
---------- Ange Ounis ----------
C'est parfait.
mais j'ai oublié qqch
je n'arrive pas avec le Rows... à faire qqch
sachant que mon document contient 32 onglets, (config + les jours du mois) et que dans ces onglets (jour du mois) j'ai 31 lignes chaque jour :)
les lignes vont de 4 à 35 la ligne 36 étant une valeur
je voudrais afficher toutes les lignes par défaut, puis cacher uniquement les dernieres lignes si elles n'existent pas dans le mois
j avais fait qqch avec For each rw in sht.Rows.... mais cela ne fonctionne pas rw.Hidden = True... enfin voilà Merci si tu as des lumières je voulais le mettre dans ton code
For Each sht In Sheets sht.Visible = True ------------ICI--------------
Next sht
Si j'ai bien compris :
''''''''''''dans un module ordinaire : Sub FeuillesMois() Dim DernierJour, sht As Worksheet DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value + 1, 0)) Application.ScreenUpdating = False For Each sht In Sheets sht.Visible = True Next sht If DernierJour <> 31 Then For i = DernierJour + 1 To 31 Sheets(Format(i, "00")).Visible = False Next i End If End Sub
''''''''''''dans le module de la feuille de configuration : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then FeuillesMois End Sub
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment
les lignes vont de 4 à 35
la ligne 36 étant une valeur
Si les lignes en question correspondent bien aux 31 jours maximum d'un mois,
alors c'est +tôt 4 à 34 ou 5 à 35.
Ceci dit, pour cacher les lignes qui n'existent pas dans un mois (les dates de 1
à 31 vont des lignes 5 à 35 :
Sub essai()
CacheJours CByte(InputBox("mois ?"))
End Sub
Sub CacheJours(Mois)
Dim DerJourMois, i As Long
Rows(5 & ":" & 35).Hidden = False
DerJourMois = Day(DateSerial(Year(Date), Mois + 1, 0))
If DerJourMois = 31 Then Exit Sub
For i = 35 To DerJourMois + 5 Step -1
Range("A" & i).EntireRow.Hidden = True
Next
End Sub
----------
Ange Ounis
----------
C'est parfait.
mais j'ai oublié qqch
je n'arrive pas avec le Rows... à faire qqch
sachant que mon document contient 32 onglets, (config + les jours du mois)
et que dans ces onglets (jour du mois) j'ai 31 lignes chaque jour :)
les lignes vont de 4 à 35
la ligne 36 étant une valeur
je voudrais afficher toutes les lignes par défaut, puis cacher uniquement
les dernieres lignes si elles n'existent pas dans le mois
j avais fait qqch avec
For each rw in sht.Rows.... mais cela ne fonctionne pas
rw.Hidden = True...
enfin voilà
Merci si tu as des lumières
je voulais le mettre dans ton code
For Each sht In Sheets
sht.Visible = True
------------ICI--------------
Next sht
Si j'ai bien compris :
''''''''''''dans un module ordinaire :
Sub FeuillesMois()
Dim DernierJour, sht As Worksheet
DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value +
1, 0))
Application.ScreenUpdating = False
For Each sht In Sheets
sht.Visible = True
Next sht
If DernierJour <> 31 Then
For i = DernierJour + 1 To 31
Sheets(Format(i, "00")).Visible = False
Next i
End If
End Sub
''''''''''''dans le module de la feuille de configuration :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then FeuillesMois
End Sub
----------
Ange Ounis
----------
Bonjour,
je voudrais simplement en fonction du mois (Case A2) qui est sous forme
numérique, masquer ou afficher les onglets correspondant aux jours
voici la forme du classeur
N°Onglet - Nom
1 - Configuration
2 - 01
3 - 02
4 - 03
5 - 04
etc....
jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie
pour faire une mise à jour)
Merci d'avance
ceci m'aiderait vraiment
les lignes vont de 4 à 35 la ligne 36 étant une valeur
Si les lignes en question correspondent bien aux 31 jours maximum d'un mois, alors c'est +tôt 4 à 34 ou 5 à 35. Ceci dit, pour cacher les lignes qui n'existent pas dans un mois (les dates de 1 à 31 vont des lignes 5 à 35 :
Sub essai() CacheJours CByte(InputBox("mois ?")) End Sub
Sub CacheJours(Mois) Dim DerJourMois, i As Long Rows(5 & ":" & 35).Hidden = False DerJourMois = Day(DateSerial(Year(Date), Mois + 1, 0)) If DerJourMois = 31 Then Exit Sub For i = 35 To DerJourMois + 5 Step -1 Range("A" & i).EntireRow.Hidden = True Next End Sub
---------- Ange Ounis ----------
C'est parfait.
mais j'ai oublié qqch
je n'arrive pas avec le Rows... à faire qqch
sachant que mon document contient 32 onglets, (config + les jours du mois) et que dans ces onglets (jour du mois) j'ai 31 lignes chaque jour :)
les lignes vont de 4 à 35 la ligne 36 étant une valeur
je voudrais afficher toutes les lignes par défaut, puis cacher uniquement les dernieres lignes si elles n'existent pas dans le mois
j avais fait qqch avec For each rw in sht.Rows.... mais cela ne fonctionne pas rw.Hidden = True... enfin voilà Merci si tu as des lumières je voulais le mettre dans ton code
For Each sht In Sheets sht.Visible = True ------------ICI--------------
Next sht
Si j'ai bien compris :
''''''''''''dans un module ordinaire : Sub FeuillesMois() Dim DernierJour, sht As Worksheet DernierJour = Day(DateSerial(Year(Date), Sheets("Config").Range("A2").Value + 1, 0)) Application.ScreenUpdating = False For Each sht In Sheets sht.Visible = True Next sht If DernierJour <> 31 Then For i = DernierJour + 1 To 31 Sheets(Format(i, "00")).Visible = False Next i End If End Sub
''''''''''''dans le module de la feuille de configuration : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then FeuillesMois End Sub
---------- Ange Ounis ----------
Bonjour, je voudrais simplement en fonction du mois (Case A2) qui est sous forme numérique, masquer ou afficher les onglets correspondant aux jours voici la forme du classeur N°Onglet - Nom 1 - Configuration 2 - 01 3 - 02 4 - 03 5 - 04 etc.... jusqu'a 32 - 31
sachant que le document est remis à jour chaque mois (on archive et on copie pour faire une mise à jour) Merci d'avance ceci m'aiderait vraiment