1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
Sub TestRemplirLaColonneJour()
RemplirLaColonneJour Range("D2:D6"), 2
End Sub
Sub RemplirLaColonneJour(ByVal AireFrequence As Range, ByVal ColonneJournee As Long)
Dim CelluleFrequence As Range
Dim CompteurEnCours As Integer
Dim FrequenceEnCours As String
FrequenceEnCours = ""
For Each CelluleFrequence In AireFrequence
If CelluleFrequence = FrequenceEnCours Then
CelluleFrequence.Offset(0, ColonneJournee - AireFrequence.Column) = MatriceFrequence(CompteurEnCours)
CompteurEnCours = CompteurEnCours + 1
Else
RemplirMatriceFrequence CelluleFrequence
CompteurEnCours = 0
CelluleFrequence.Offset(0, ColonneJournee - AireFrequence.Column) = MatriceFrequence(CompteurEnCours)
CompteurEnCours = CompteurEnCours + 1
FrequenceEnCours = CelluleFrequence
End If
Next CelluleFrequence
End Sub
Sub RemplirMatriceFrequence(ByVal ValeurFrequence As String)
Dim I As Long, NbJours As Long
Dim MesJoursDeLaSemaine As Variant
MesJoursDeLaSemaine = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
NbJours = 0
For I = 1 To Len(ValeurFrequence)
If Mid(ValeurFrequence, I, 1) <> "_" Then
ReDim Preserve MatriceFrequence(NbJours)
MatriceFrequence(NbJours) = MesJoursDeLaSemaine(Mid(ValeurFrequence, I, 1) - 1)
NbJours = NbJours + 1
End If
Next I
End Sub |
Partager