Retranscription horaire en fonction des cellules remplies

Bonjour,

Je ne sais pas si cela est possible, mais je pose là quand même ma demande,

en fonction du fichier joint, je souhaiterais qu'en fonction des cellules remplies sur le planning, que les informations soit remplit automatiquement dans la colonne "AU"

19essai-2.xlsx (28.38 Ko)

Bonjour,

C'est possible avec une fonction VBA qui :

  • Identifierait les colonnes matin et après-midi.
  • Balayerait les cellules de la ligne sélectionnée, remplirait une variable en prenant la première et la dernière de chaque groupe matin et après-midi seulement si la couleur de fond de la cellule est bleue.

Bonjour Eric,

Je te joins le planning d'essai pourrais tu me montrer cela stp.

j'aimerais qu'en remplissant le planning, les horaires s'affiche a peu près comme ci-dessous dans la colonne "AU"

image

Te remerciant.

Daniel

j'ai oublié le fichier que voici

Bonjour ou bonsoir,

a la réunion il est presque 20H, svp Eric semble être indisponible pour l'instant,

quelqu'un pourrais t'il prendre la relève et répondre à ma requête svp c'est extrêmement urgent.

Daniel

Salut Daniel,
Salut Eric,

il a fallu le temps que je "contrôle" ces sal... de cellules fusionnées...
Fonction personnalisée fctHoraire()

Public Function fctHoraire() As String
'
Dim rCel1 As Range, iRow%, iCol%, iNbCol%, iIdx%
'
Application.Volatile
iRow = Application.Caller.Row
'
With Worksheets(Application.Caller.Parent.Name)
    For x = 2 To 43
        If .Cells(iRow, x) <> "" And IsNumeric(.Cells(iRow, x)) Then
            Set rCel = .Cells(iRow, x)
            iNbCol = rCel.MergeArea.Cells.Count
            If x = 2 Then
                sHoraire = "8H30"
            Else
                iIdx = 0
                If rCel.Offset(0, -1).Interior.Color = RGB(255, 255, 255) Then iIdx = 1
                If rCel.Offset(0, 1).Interior.Color = RGB(255, 255, 255) Then iIdx = 2
                If iIdx > 0 Then
                    iCol = rCel.Cells(1, IIf(iIdx = 1, 1, iNbCol)).Column
                    sHoraire = sHoraire & IIf(iIdx = 1, IIf(sHoraire = "", "", " / "), "-")
                    If iIdx = 1 Then sHoraire = sHoraire & Split(.Cells(4, iCol - IIf(iCol Mod 4 = 3, 0, (iCol Mod 4) + 1)), "H")(0)
                    If iIdx = 2 Then sHoraire = sHoraire & Split(.Cells(4, iCol - IIf(iCol Mod 4 = 2, -1, (iCol Mod 4) + 1)), "H")(0)
                    sHoraire = sHoraire & IIf(iIdx = 1, _
                        Choose((iCol Mod 4) + 1, "H15", "H30", "H45", "H00"), _
                        Choose((iCol Mod 4) + 1, "H30", "H45", "H00", "H15"))
                End If
            End If
        End If
    Next
End With
fctHoraire = sHoraire
'
End Function
15potola.xlsm (37.25 Ko)


A+

Bonsoir Curulis57,

Je dis dit juste Waouh !! c'est juste impressionnant ton résultat.

Mille merci !

Rechercher des sujets similaires à "retranscription horaire fonction remplies"