Soucis simple de planning

Bonjour.

J'au un soucis simple, à mon avis facilement pour un initié en excel.

J'ai un fichier avec 5 feuilles excel. Il s'agit d'un planning.

Je voudrai que quand mon rvo de 8h00 (en feuille 1) celui de 10h00 (en feuille3) soit encodé (par le mot "coucou"), automatiquement cela apparaisse sur la feuille synthèse avec comme réponse le nom de la feuille correspondant à l'heure du RVO.

Il faut vérifié que les autres feuilles soit libre à cette heure: si il y a 2 rvo à la même heure, il faudrait par exemple que le mot faux.

Merci

14planning.xlsx (9.65 Ko)

Bonjour,

un essai (valable pour ce fichier)

17planning.xlsx (16.15 Ko)

Merci d'avoir répondu une première fois, j'avance dans le problème...

Bonjour. J’avais posé une question précédemment, puis j’ai avancé dans ma démarche et mieux qualifié ma demande. Je dois organiser un planning entre différent thérapeute. J’encode mon patient sous les différentes feuilles (correspondant au nom du thérapeute). (gros casse tête d’encodage car il faut que cela soit en continu pour le patient, avec parfois une pause).

Ce que j’aimerai et qui soit carrément magique :

1 .c’est qu’en page synthèse, je n’aie qu’à encoder le nom du patient dans la case (entourée avec grosse bordure) pour que cela me remplisse le tableau : c'est-à-dire son planing avec dans chaque case le thérapeute (via la case C2 respective de chaque feuille).

2. si je me suis trompé dans l’encodage, c’est que cela me le notifie (par message dans la case) et que cela me précise quels thérapeutes sont repris (en gros double RVO à la même heure avec kiné et kiné2.

Si vous quelqu’un peut m’aider, merci 1000x

20essai-planing.xlsx (51.13 Ko)

Bonjour,

Il n'y a, je pense, pas plus pratique dans ton cas qu'une évènementielle réagissant au changement de valeur de la cellule C2 de synthese.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim x%, y%, z%, th
    If Target.Address = "$C$2" Then
        Me.Range("C6:L36").ClearContents
        For x = 6 To 36
            For y = 3 To 12
                For z = 1 To 9
                    If Worksheets(z).Cells(x, y) = Target.Value Then
                        th = th & ";" & Worksheets(z).Name
                    End If
                Next z
                If th <> "" Then Me.Cells(x, y) = Right(th, Len(th) - 1)
                th = ""
            Next y
        Next x
    End If
End Sub

La procédure efface la partie planning de la feuille et inscrit le nom de feuille lorsqu'elle trouve le patient inscrit aux mêmes emplacements. Si elle le trouve plusieurs fois, les noms apparaîtront à la suite, séparés par des points-virgules.

La signalisation en est assurée par une MFC qui colore en rouge la cellule si elle y détecte la présence de ce signe de ponctuation.

Cordialement

Ferrand

Extra!

Merci beaucoup.

Question: est il possible de faire un choix du patient sur la feuille synthèse via une liste déroulante

(la liste peut se trouver sur une nouvelle feuille avec le nom des patient que l'on encode sous une colonne)

En tout cas merci beaucoup car cela va vraiment m'aider

Oui. Avec une liste déroulante, tu modifies le contenu de la cellule, donc cela déclenchera la mise à jour.

Bon dimanche.

Merci. Bon dimanche également.

Juste un détail.

Je ne parviens pas à ouvrir la macro pour essayer de la comprendre. Est-ce qu'elle est masquée, pouvez-vous rendre l'accès possible.

Merci

Evènementielle, donc dans le module propre à la feuille synthese.

Pour y accéder directement : clic droit sur le nom de l'onglet et Visualiser le code.

Bonne soirée

Bonsoir. Effectivement, j'ai trouvé. Par contre j'essaye de réutiliser le code, mais je ne parviens pas à avoir la cellule fautive qui s'allume en rouge... (heu, c'est où dans le code?). Merci, je suis vraiment débutant

La signalisation en rouge n'est pas dans le code.

C'est une MFC.

Rechercher des sujets similaires à "soucis simple planning"