=SI(MOD(LIGNE()-3;10);NOMPROPRE(TEXTE("2/1/2022"+ENT((LIGNE()-4)/10)+2*ENT((LIGNE()-4)/50);"jjjj jj/mm/aa"))&" @ "&MOD(LIGNE()-4;10)+8&" - "&MOD(LIGNE()-4;10)+9;"")
=INDEX(planning!$A:$A;COLONNE()+1)
Private Sub Worksheet_Activate()
Dim tablo, ncol%, i&, j%
tablo = Sheets("planning").[A3:H12] 'à adapter
ncol = UBound(tablo, 2)
Application.ScreenUpdating = False
On Error Resume Next
With [A5].CurrentRegion 'à adapter
.Offset(1, 2).ClearContents 'RAZ
For i = 2 To UBound(tablo)
For j = 2 To ncol
If tablo(i, j) <> "" Then _
.Cells(Application.Match(tablo(i, j), .Columns(2), 0), Application.Match(tablo(i, 1), .Rows(1), 0)) = tablo(1, j)
Next j, i
End With
End Sub
comment modifier ce code si en ajoute a gauche les jour de semaineBonsoir Seddiki_adz,
Une solution VBA assez simple avec cette macro dans le code de la feuille "Extraction" :
Elle se déclenche automatiquement quand on active la feuille.Code:Private Sub Worksheet_Activate() Dim tablo, ncol%, i&, j% tablo = Sheets("planning").[A3:H12] 'à adapter ncol = UBound(tablo, 2) Application.ScreenUpdating = False On Error Resume Next With [A5].CurrentRegion 'à adapter .Offset(1, 2).ClearContents 'RAZ For i = 2 To UBound(tablo) For j = 2 To ncol If tablo(i, j) <> "" Then _ .Cells(Application.Match(tablo(i, j), .Columns(2), 0), Application.Match(tablo(i, 1), .Rows(1), 0)) = tablo(1, j) Next j, i End With End Sub
A+
tablo = Sheets("planning").[A3:H12] 'à adapter
Bonsoir Seddiki_adz,
C'est à vous de faire le travail.
Dans la 1ère feuille complétez la ligne 5 avec les jours et heures que vous voulez, exemple Lundi 8-9.
Pareil dans la 2ème feuille pour la colonne A.
Et dans la macro vous adaptez cette ligne :
en remplaçant H12 par la dernière cellule du tableau de la feuille "planning".VB:tablo = Sheets("planning").[A3:H12] 'à adapter
A+
bonjourNon pas comme ça, le jour doit être dans la même cellule que l'heure, pour toutes les heures.
Merci compris mais la page doit très longSi vous voulez traiter plusieurs semaines il faut ajouter le numéro du jour et le mois.
Exemple pour 2022 Dimanche 6 mars 8-9.
P
=SI(MOD(LIGNE()-3;10);NOMPROPRE(TEXTE("2/1/2022"+ENT((LIGNE()-4)/10)+2*ENT((LIGNE()-4)/50);"jjjj jj/mm/aa"))&" @ "&MOD(LIGNE()-4;10)+8&" - "&MOD(LIGNE()-4;10)+9;"")
=INDEX(planning!$A:$A;COLONNE()+1)
BonjourBonjour Seddiki_adz, le forum,
Dans ce fichier (2) j'ai créé tous les jours utiles de l'année 2022 avec cette formule en planning!A4 :
à tirer vers le bas, le 2/1/2022 est le 1er dimanche de l'année.Code:=SI(MOD(LIGNE()-3;10);NOMPROPRE(TEXTE("2/1/2022"+ENT((LIGNE()-4)/10)+2*ENT((LIGNE()-4)/50);"jjjj jj/mm/aa"))&" @ "&MOD(LIGNE()-4;10)+8&" - "&MOD(LIGNE()-4;10)+9;"")
Les jours sont copiés avec cette formule en Extraction!C5 à tirer vers la droite :
A+Code:=INDEX(planning!$A:$A;COLONNE()+1)
MerciLe planning des cours hebdomadaire est fixe mais pas celui des absences des professeurs !!!
Vous renseignerez donc la feuille planning pour tous les jours de l'année.