Fusion cellule VBA

onjour, j'ai réaliser un code pour attribuer des time values à des cellules. Le problème est que je me dois de fusionner ces cellules par groupe de quartes pour la mise en forme de ce fait j'arrive plus à retrouver les time values que j'ai attribuer à ces cellules. Ci joint le code en question.
Sub AssignHiddenTimeValues()

' Definition de la plage cible
Dim targetRange As Range
Set targetRange = Range("C12:CT12")

' Définition des valeurs de temps (en utilisant un tableau unidimensionnel)
Dim timeValues() As Variant
timeValues = Array(TimeValue("04:00"), TimeValue("04:15"), TimeValue("04:30"), TimeValue("04:45"), _
TimeValue("05:00"), TimeValue("05:15"), TimeValue("05:30"), TimeValue("05:45"), _
TimeValue("06:00"), TimeValue("06:15"), TimeValue("06:30"), TimeValue("06:45"), _
TimeValue("07:00"), TimeValue("07:15"), TimeValue("07:30"), TimeValue("07:45"), _
TimeValue("08:00"), TimeValue("08:15"), TimeValue("08:30"), TimeValue("08:45"), _
TimeValue("09:00"), TimeValue("09:15"), TimeValue("09:30"), TimeValue("09:45"), _
TimeValue("10:00"), TimeValue("10:15"), TimeValue("10:30"), TimeValue("10:45"), _
TimeValue("11:00"), TimeValue("11:15"), TimeValue("11:30"), TimeValue("11:45"), _
TimeValue("12:00"), TimeValue("12:15"), TimeValue("12:30"), TimeValue("12:45"), _
TimeValue("13:00"), TimeValue("13:15"), TimeValue("13:30"), TimeValue("13:45"), _
TimeValue("14:00"), TimeValue("14:15"), TimeValue("14:30"), TimeValue("14:45"), _
TimeValue("15:00"), TimeValue("15:15"), TimeValue("15:30"), TimeValue("15:45"), _
TimeValue("16:00"), TimeValue("16:15"), TimeValue("16:30"), TimeValue("16:45"), _
TimeValue("17:00"), TimeValue("17:15"), TimeValue("17:30"), TimeValue("17:45"), _
TimeValue("18:00"), TimeValue("18:15"), TimeValue("18:30"), TimeValue("18:45"), _
TimeValue("19:00"), TimeValue("19:15"), TimeValue("19:30"), TimeValue("19:45"), _
TimeValue("20:00"), TimeValue("20:15"), TimeValue("20:30"), TimeValue("20:45"), _
TimeValue("21:00"), TimeValue("21:15"), TimeValue("21:30"), TimeValue("21:45"), _
TimeValue("22:00"), TimeValue("22:15"), TimeValue("22:30"), TimeValue("22:45"), _
TimeValue("23:00"), TimeValue("23:15"), TimeValue("23:30"), TimeValue("23:45"), _
TimeValue("00:00"), TimeValue("00:15"), TimeValue("00:30"), TimeValue("00:45"), _
TimeValue("01:00"), TimeValue("01:15"), TimeValue("01:30"), TimeValue("01:45"), _
TimeValue("02:00"), TimeValue("02:15"), TimeValue("02:30"), TimeValue("02:45"), _
TimeValue("03:00"), TimeValue("03:15"), TimeValue("03:30"), TimeValue("03:45"))

' Assignation des valeurs de temps à la plage cible
Dim i As Integer
For i = 0 To UBound(timeValues)
targetRange.Cells(1, i + 1).Value = timeValues(i)
Next i

' Format des cellules comme temps (facultatif)
targetRange.NumberFormat = "hh:mm"

End Sub
Est ce que ce serait possible d'avoir votre aide ?

bonjour Fatou Kine BA

je crains que je n'ai pas bien compris la question ....

Sub AssignHiddenTimeValues()

     ' Definition de la plage cible
     Dim targetRange As Range
     Set targetRange = Range("C12:CT12")

     ' Définition des valeurs de temps (en utilisant un tableau unidimensionnel)
     Dim timeValues() As Variant
     timeValues = Array(TimeValue("04:00"), TimeValue("04:15"), TimeValue("04:30"), TimeValue("04:45"), _
                        TimeValue("05:00"), TimeValue("05:15"), TimeValue("05:30"), TimeValue("05:45"), _
                        TimeValue("06:00"), TimeValue("06:15"), TimeValue("06:30"), TimeValue("06:45"), _
                        TimeValue("07:00"), TimeValue("07:15"), TimeValue("07:30"), TimeValue("07:45"), _
                        TimeValue("08:00"), TimeValue("08:15"), TimeValue("08:30"), TimeValue("08:45"), _
                        TimeValue("09:00"), TimeValue("09:15"), TimeValue("09:30"), TimeValue("09:45"), _
                        TimeValue("10:00"), TimeValue("10:15"), TimeValue("10:30"), TimeValue("10:45"), _
                        TimeValue("11:00"), TimeValue("11:15"), TimeValue("11:30"), TimeValue("11:45"), _
                        TimeValue("12:00"), TimeValue("12:15"), TimeValue("12:30"), TimeValue("12:45"), _
                        TimeValue("13:00"), TimeValue("13:15"), TimeValue("13:30"), TimeValue("13:45"), _
                        TimeValue("14:00"), TimeValue("14:15"), TimeValue("14:30"), TimeValue("14:45"), _
                        TimeValue("15:00"), TimeValue("15:15"), TimeValue("15:30"), TimeValue("15:45"), _
                        TimeValue("16:00"), TimeValue("16:15"), TimeValue("16:30"), TimeValue("16:45"), _
                        TimeValue("17:00"), TimeValue("17:15"), TimeValue("17:30"), TimeValue("17:45"), _
                        TimeValue("18:00"), TimeValue("18:15"), TimeValue("18:30"), TimeValue("18:45"), _
                        TimeValue("19:00"), TimeValue("19:15"), TimeValue("19:30"), TimeValue("19:45"), _
                        TimeValue("20:00"), TimeValue("20:15"), TimeValue("20:30"), TimeValue("20:45"), _
                        TimeValue("21:00"), TimeValue("21:15"), TimeValue("21:30"), TimeValue("21:45"), _
                        TimeValue("22:00"), TimeValue("22:15"), TimeValue("22:30"), TimeValue("22:45"), _
                        TimeValue("23:00"), TimeValue("23:15"), TimeValue("23:30"), TimeValue("23:45"), _
                        TimeValue("00:00"), TimeValue("00:15"), TimeValue("00:30"), TimeValue("00:45"), _
                        TimeValue("01:00"), TimeValue("01:15"), TimeValue("01:30"), TimeValue("01:45"), _
                        TimeValue("02:00"), TimeValue("02:15"), TimeValue("02:30"), TimeValue("02:45"), _
                        TimeValue("03:00"), TimeValue("03:15"), TimeValue("03:30"), TimeValue("03:45"))

     ' Assignation des valeurs de temps à la plage cible
     With targetRange
          .UnMerge
          .Value = timeValues
          .NumberFormat = "hh:mm"
          Application.DisplayAlerts = False
          For i = 1 To .Columns.Count Step 4
               .Cells(1, i).Resize(, 4).Merge
          Next
          Application.DisplayAlerts = True
     End With

End Sub

Avec ce code j'essaie d'attribuer des valeurs temporelles à mes cellules. Mais ces cellules sont fusions comme suit:

image

Et lorsque j'essaie de récupérer la valeur temporelles de D12, je reçois une valeur nulle

Il me semble que le code de BsAlv répond à la question.

Pour la valeur de D12 c'est normal, lorsque les cellules sont fusionnées la valeur affichée se trouve dans la cellule la plus a gauche, donc pour D12 c'est en réalité C12 qu'il faut regarder. Idem pour N12 c'est K12 qui contient la valeur "06:00".

Puisque toutes vos cellules font 4 colonnes de large, ce ne devrait pas etre trop difficile de corriger vos formules.

Merci le problème est résolu

Rechercher des sujets similaires à "fusion vba"