XL pour MAC Remplissage créneaux planning à partir d'une liste de dates et horaires

chasacorder

XLDnaute Nouveau
Bonjour à tous,

Je suis une petite nouvelle et sur ce forum ainsi que sur excel ! Ravie de vous rencontrer !

Je cherche à réaliser un planning type calendrier à envoyer à mes enseignants.
Pour de la visibilité pour eux et de la praticité pour moi, j'aimerais que les cases se remplissent automatiquement avec le nom des groupes à partir d'une liste de dates et d'horaires de leurs interventions.

Pouvez-vous m'aider ?

Merci d'avance,
Bien à vous !
Cha
 

Pièces jointes

  • Calendrier Scolaire Anglais 2022-2023.xlsx
    81.4 KB · Affichages: 15

chasacorder

XLDnaute Nouveau
Bonjour Jean-Marie,

Voilà deux captures d'écran de ce que fait ton tableau quand je l'ouvre... (Le fichier TEST que je t'ai envoyé n'était pas le tien).

Ok j'ai testé ton gif, est-ce qu'il est possible de coloriser les cases identiques ?

Merci pour ton aide !
 

Pièces jointes

  • Capture d’écran 2023-09-28 à 08.51.50.png
    Capture d’écran 2023-09-28 à 08.51.50.png
    567.7 KB · Affichages: 6
  • Capture d’écran 2023-09-28 à 08.51.42.png
    Capture d’écran 2023-09-28 à 08.51.42.png
    360.9 KB · Affichages: 6

ChTi160

XLDnaute Barbatruc
Bonsoir
J'ai en feuille "Evenements" mis les données sans Ligne Vide (a voir)
de A1 a xxxx
Cette procédure semble répondre à la demande !
VB:
Option Explicit
Option Base 1
Sub test()
Dim Lgn As Long
Dim DerLgn As Long
Dim DerCol As Integer
Dim Tableau, TabTemp()
Dim StrCompare$
Dim StrTest$, x As Long
x = 0
With Worksheets("Evenements")
DerLgn = .Cells(.Rows.Count, 1).End(xlUp).Row 'On détermine la dernière Ligne Non vide de la Colonne "A"
DerCol = .Cells(1, .Columns.Count).End(xlToLeft).Column 'On détermine la dernière Colonne de la Ligne 1

Tableau = .Range(.Cells(1, 1), .Cells(DerLgn, DerCol)).Value 'On récupére dans un tableau les données du Tableau ainsi définit
End With
For Lgn = 1 To UBound(Tableau, 1)'Pour Chaque Lignes du tableau
'ci dessous on définit les variables
           StrTest = Tableau(Lgn, 2) & "-" & Format(Tableau(Lgn, 3), "ddd dd/mm/yyyy-hh:mm")
   StrCompare = Application.Substitute(Tableau(Lgn, 6), "-", "") & "-" & Tableau(Lgn, 8) & "-" & Tableau(Lgn, 9)
  If StrTest <> StrCompare Then 'Si Différence
  x = x + 1 'On incremente
    ReDim Preserve TabTemp(2, x)'On redimensionne le tableau
    TabTemp(1, x) = StrTest 'on récupére la variable
    TabTemp(2, x) = StrCompare 'Idem
  End If
Next Lgn
'ci-dessous pour le test on colle le tableau Ligne 1 colonne 12
Worksheets("Evenements").Cells(1, 12).Resize(UBound(TabTemp, 2), UBound(TabTemp, 1)) = Application.Transpose(TabTemp)

End Sub
Bonne fin de Soirée
Jean marie
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 181
Messages
2 085 997
Membres
103 083
dernier inscrit
SALAHBEN