Masquer colonnes en fonction données calendrier

hajorinette

XLDnaute Occasionnel
Bonjour le forum !

Sur mon fichier joint j'ai un calendrier pour la semaine ( 10 cellules en tout : 5 pour les dates et 5 pour les jours correspondants)
Je choisit l'année, la semaine puis le jour avec lequel j'aimerai commencer ma semaine grâce à des listes déroulantes.

Chaque jour a des données en dessous.
Ce que j'aimerai faire, sans savoir si c'est possible ou pas, c'est faire correspondre les modifications que j'ai sur le calendrier avec les mêmes modications sur les données en dessous.
Car le problème maintenant c'est qu'en modifiant mon calendrier j'ai un décalage entre le jour et les données du jour.

Je suis consciente que comme je me contente de 3 ans cela correspond à 3*365 jours donc à 3*365 plages pour avoir les données associés au jour:eek:.

Mais je poste quand même à tout hasard, ne sait-on jamais si quelqu'un a une macro magique (ou une idée ) qui résoud mon problème :rolleyes:

Merci d'avance
 

Pièces jointes

  • Calendrier.xls
    21.5 KB · Affichages: 64
  • Calendrier.xls
    21.5 KB · Affichages: 68
  • Calendrier.xls
    21.5 KB · Affichages: 67

Dull

XLDnaute Barbatruc
Re : Masquer colonnes en fonction données calendrier

Salut hajorinette, le Forum

Pas trop compris ta question?

Veux tu qu'en A6, dans ton exemple, il y est "Données du lundi 17 Août 2009" si en A5 il y a 17/08/2009 ainsi de suite etc... et en changeant via les listes de validation le texte en A6 suive?

Si oui essaye cette Formule en A6

Code:
="Données du "&TEXTE((A5);"jjjj")&" "&TEXTE(JOUR(A5);"0#")&"/"&TEXTE(A5;"mm")&"/"&ANNEE(A5)
a incrémenter vers la droite

Si non c'est que j'ai pas bien compris:D

Bonne Journée
 

Pièces jointes

  • Calendrier Hajorinette.zip
    4.8 KB · Affichages: 49

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Non malheureusement ce n'est pas aussi simple que ça Dull, merci en tout cas!
l'idée est de masquer une plage de cellules si la date en question n'apparait pas sur le calendrier, et puis de la faire reaparaitre sinon.

Sinon le fichier envoyé n'est qu'un petit echantillon pas très représentatif de mon vrai fichier, car quand je met sur l'exemple envoyé,en celllule fusionnée: données du ... ,c'est en réalité 3 colonnes avec des données journalières...
En pratique ça donne ça:
--> choix de la date avec la liste de validation (exp semaine commençant aujourd'hui le mardi 18/08)
-> renseigner les plages en dessous des dates
(pour le 18/08 j'écris : X et pour le 19/08 j'écris: Y)
--> je veux changer cette semaine pour la semaine prochaine (liste de validation+choix du début de semaine au lundi 24/08)
--> c'est la que la magie opère, je vois bien que ma semaine commence le 24/08 mais surtout je ne vois ni X ni Y puisqu'ils correspondent respectivement au 18/08 et 19/08
--> je reviens grâce aux listes de validation a cette semaine et j'ai le X en dessous du 18/08 et le Y en dessous du 19/08.


N'hésitez pas si ce n'est pas encore clair
 

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Bonjour et merci beaucoup Pierrejean !
Cela marche quand j'ai à la place de "données du ../../.." n'importe quel autre texte--> c'est super!
Cela ne marche pas quand de defusionne les cellules(comme c'est le cas de mon fichier réel :( )
 

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Bonjour le forum !

Merci pierre jean et très bonnes vacances!
Pour que je puisse adapter cette macro il faudrait que je la comprenne en entier...:rolleyes:
dans la première boucle if, dès qu'on choisit une date, pour chacune des 5 dates de la feuille2, on va chercher leur équivalent à la feuille1
Une fois la date trouvée on fait une sorte de recherche verticale pour faire correspondre le contenu de la colonne à droite de la date de la feuille 1 avec les données de la feuille2

Jusque là pas de soucis

Dans la 2ème boucle if, qui traite le changement de données à la feuille2, il faut en premier chercher la date correspondante à ce changement. (même colonne que les données changées, ligne au dessus)
le code proposé par pierrejean (en rouge) cherche la date dans la feuille2, c'est ce qui m'a laissée perplexe car une fois la cellule c de la date trouvée(cellule de la feuille 2 donc), il l'utilise comme si c'était une cellule de la feuille1 (c.Row, c.Column + 1) pour mettre à jour les données changées.
Par curiosité j'ai changé le code en cherchant la date dans la feuille1 ( modification en vert) il se trouve que ça marche tout aussi bien ...

Donc si quelqu'un peut éclaircir ce point



Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address = "$A$1" Or Target.Address = "$C$1" Or Target.Address = "$E$1" Then
 For n = 1 To 13 Step 3
  x = Cells(5, n)
 Set c = Sheets("Feuil1").Cells.Find(x, LookIn:=xlValues, lookat:=xlWhole)
   If Not c Is Nothing Then
     Cells(6, n) = Sheets("Feuil1").Cells(c.Row, c.Column + 1)
    End If
 Next n
End If
If Target.Address = "$A$6" Or Target.Address = "$D$6" Or Target.Address = "$G$6" Or Target.Address = "$J$6" Or Target.Address = "$M$6" Then
  x = Cells(5, Target.Column)
   [COLOR="Red"]'Set c = Feuil2.Cells.Find(x, LookIn:=xlValues, lookat:=xlWhole)[/COLOR]
   Set c = [COLOR="Lime"][B]Sheets("Feuil1").[/B][/COLOR]Cells.Find(x, LookIn:=xlValues, lookat:=xlWhole)
   If Not c Is Nothing Then
     Sheets("Feuil1").Cells(c.Row, c.Column + 1) = Target.Value
   End If
End If
End Sub

Merci d'avance
 

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Sinon voici à quoi ressemble mes données que j'aimerai faire bouger en même temps que les jours.

Merci d'avance à tous les xldiens(ennes) qui s'interesseront à mon sujet
 

Pièces jointes

  • Calendrier.xls
    27.5 KB · Affichages: 57
  • Calendrier.xls
    27.5 KB · Affichages: 71
  • Calendrier.xls
    27.5 KB · Affichages: 67

pierrejean

XLDnaute Barbatruc
Re : Masquer colonnes en fonction données calendrier

Re
De retour d'un petit sejour dans mon Jura d'origine

1) Pas etonnant que ces 2 lignes donnent le même resultat !!

Code:
[COLOR=#ff0000]'Set c = Feuil2.Cells.Find(x, LookIn:=xlValues, lookat:=xlWhole)[/COLOR]
   Set c = [COLOR=lime][B]Sheets("Feuil1").[/B][/COLOR]Cells.Find(x, LookIn:=xlValues, lookat:=xlWhole)

En effet dans ton fichier Feuil2 (codeName) s'appelle "Feuil1" (Name)
Elles sont donc strictement equivalentes

2) dans ton fichier réels les tableaux type B6:E8 ont-ils toujours cette forme (4 colonnes 3 lignes ) ou sont-ils susceptibles d'evoluer (en nbre de lignes) ?
 

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Il semblerai que notre ami jurassien soit reparti pour un tour dans sa terre natale :)

NB pour les xldiens et xldiennes : j'arrive à le faire pour des données journalières de plusieurs colonnes mais je ne dépasse pas une seule ligne :s , quelqu'un à des idées?

NB pour pierrejean : merci ( en retard ...) pour les précisions du post#9
 

pierrejean

XLDnaute Barbatruc
Re : Masquer colonnes en fonction données calendrier

Re
Non je suis bien la mais...
Ton probleme s'est tout même legerement etoffé !!!
Vois si cette version te convient
Si oui je commenterai le code puisque tu sembles t'y interesser
 

Pièces jointes

  • hajorinette_Calendrierb.zip
    21.2 KB · Affichages: 60

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Bonjour pierrejean, le forum
Je suis plus qu'impressionnée!!! (spliter des ';;', ça fallait y penser!)
ya des parties du code ou j'aurai besoin de quelques explications en effet, mais avant j'aimerai faire remarquer que la macro ne remplace pas, mais plutot superpose les données lors d'un changement de jour.
C'est à dire pour
Une semaine commençant au jour J
un contenu x pour le jour J, et y pour le jour J+1
si on change pour la même semaine commençant au J+1 ça se décale bien y pour j+1 mais aussi y pour j+2. ( ça n'a pas effacé la valeur à l'ancien emplacement de J+1)
De même, si on revient à la semaine commençant au jour J, on aura comme données pour le jour j : x ET y si elles ne sont pas à la même cellule
Sinon j'ai remarqué que les données ne s'effacent pas en faisant supprimer contenu elles réaparaissent en 're' selectionant le jour.

Merci pour tout!
 

hajorinette

XLDnaute Occasionnel
Re : Masquer colonnes en fonction données calendrier

Bonjour pierrejean, le forum

J'ai oublié de préciser que pour la semaine remplie dans l'exemple de pierrejean (Semaine 1 année 2010) les données se décalent correctement (pas de superposition!), et la description de mon post précédent concerne toutes les autres semaines.
Donc j'avoue ne pas savoir pourquoi ça marche pour cette semaine en particulier et pas pour le reste.

Bien entendu un grand merci à pierrejean et à tout ceux qui voudront bien (ou essaieront de) m'aider.
 

Discussions similaires

Statistiques des forums

Discussions
312 513
Messages
2 089 217
Membres
104 065
dernier inscrit
il matador