J'aurais besoin d'une aide car il y a une chose que je n'arrive pas à faire.
J'ai joins mon fichier excel qui correspond à mon planning.
Son principe de fonctionnement est le suivant :
- je renseigne une date de début et une date de fin
- il s'affiche l'ensemble des jours et des dates compris entre les 2 dates renseignées précédemment
- Tous les jours d'une semaine sont représentés y compris les samedi et dimanche.
Voici ce dont j'aurais besoin
Je voudrais donc que lorsque j'appuis sur un bouton agissant par l'intermédiaire d'une macro, que je puisse masquer ou afficher les colonnes correspondant aux samedi et dimanche afin d'avoir une vue en jours ouvrés.
J'ai pas mal cherché sur internet des tutos et autres explications mais je m'y perd complétement.
J'espère que j'ai été assez clair si besoin n'hésité pas me recontacter
Si vous avez déjà fait une chose de ce genre ou des astuces, je suis preneur.
Bonjour,
Ah trop tard, je le passe quand même... A mettre sur un bouton par exemple.
VB:
Option Explicit
Private ColonnesWeekEndMasquées As Boolean
'-----------------------------------------
'Masque ou affiche les colonnes "S" et "D"
'-----------------------------------------
Sub MasquerColonnesWeekEnd()
Dim Colonne As Range
'Inverse le masquage
ColonnesWeekEndMasquées = Not ColonnesWeekEndMasquées
'Colonne sur le 1er jour du planning
Set Colonne = ActiveSheet.Range("O:O")
'Pour chaque colonne masquer ou afficher si "S" ou "D"
Do While Not IsEmpty(Colonne.Cells(5))
If UCase(Colonne.Cells(5).Value) = "S" _
Or UCase(Colonne.Cells(5).Value) = "D" _
Then...
Sub masquer()
i = 14
While Cells(5, i).Value <> ""
If Cells(5, i).Value = "S" Or Cells(5, i).Value = "D" Then
Columns(i).Hidden = True
End If
i = i + 1
Wend
End Sub
Sub Afficher()
Columns("P:ZZ").Hidden = False
End Sub
Bonjour,
Ah trop tard, je le passe quand même... A mettre sur un bouton par exemple.
VB:
Option Explicit
Private ColonnesWeekEndMasquées As Boolean
'-----------------------------------------
'Masque ou affiche les colonnes "S" et "D"
'-----------------------------------------
Sub MasquerColonnesWeekEnd()
Dim Colonne As Range
'Inverse le masquage
ColonnesWeekEndMasquées = Not ColonnesWeekEndMasquées
'Colonne sur le 1er jour du planning
Set Colonne = ActiveSheet.Range("O:O")
'Pour chaque colonne masquer ou afficher si "S" ou "D"
Do While Not IsEmpty(Colonne.Cells(5))
If UCase(Colonne.Cells(5).Value) = "S" _
Or UCase(Colonne.Cells(5).Value) = "D" _
Then
Colonne.EntireColumn.Hidden = ColonnesWeekEndMasquées
End If
Set Colonne = Colonne.Offset(0, 1)
Loop
End Sub
C'est encore moi,
Je m'excuse de vous solliciter de nouveau mais j'aurais encore besoin de vous.
Sur ce même fichier je voudrais essayer de faire 2 choses.
Dans un premier temps, je voudrais que la ligne A8 (voir mon fichier joint en début de discussion) se répète en dessous les une des autres grâce à un bouton.
et dans un deuxième temps, je voudrais que l'ensemble des lignes A7 et A8 se répète les une en dessous des autres en conservant la fonction de la ligna A8 décrite juste avant.
Toujours en macro bien sur car je voudrais mettre des boutons.
Du fil à retordre si j'en juge par la question ! DIDPROJ, que veut dire "se répète en dessous les une des autres" ? On ne peut rien faire avec ça.
Pareil pour "se répète les une en dessous des autres en conservant la fonction de la ligna A8 décrite juste avant".
Et ça se répète combien de fois ?
Donne un exemple final pour clarifier.