planning accueil temporaire

grandcycy

XLDnaute Nouveau
bonjour

je recherche de l'aide pour mon projet de planning vba, j'ai réalisé un tableau qui me permet de gérer et planifier mon calendrier des accueils.

je bloque sur deux problèmes les changements ou annulations de date qui ne se font pas sur le calendriers automatiquement donc je suis obligée de l'effacer manuellement et pour les doublons de dates sur la même chambre j'aimerai mettre une alerte.

je remercie toute les personnes qui s'arrêteront sur ce projet pour me venir en aide.
 

Pièces jointes

  • Copie de essai act 1.xlsm
    53.6 KB · Affichages: 74
  • Copie de essai act 1.xlsm
    53.6 KB · Affichages: 78
  • Copie de essai act 1.xlsm
    53.6 KB · Affichages: 75

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

bonjour,

j'ai trouvé à intégrer l'empêchement de doublon par contre je n'arrive pas à le faire par n° de chambre

exemple: ch1: 19/05/14 au 23/05/14
ch1: 19/05/14 au 23/05/14
alerte doublon
par contre:ch1: 19/05/14 au 23/05/14
ch2: 19/05/14 au 23/05/14
pas d'alerte doublon (pouvoir écrire les mêmes dates sur 2 chambres différente)

voici mon application mais je n'arrive pas à la faire fonctionner par chambre.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range

' La variable KeyCells contient les cellules qui déclencheront
' une alerte si elles sont modifiées.
Set KeyCells = Range("sort")

'on controle ici le comportement si on touche aux lignes concernées
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
'Si la cellule cliquée fait partie de l'ensemble mais est vide je ne fais rien
If Target = "" Then
Exit Sub
End If

'si valeur dans ensemble et non vide alors j'agis
'je definis mes variables
sortie = Target
nuit = Target.Offset(0, -1)
entree = Target.Offset(0, -2)
chambre = Range("AL" & Target.Row)
couleur = Range("AI" & Target.Row).Interior.Color
nbjour = (nuit - entree)

'Demande contrôle User
Rep = MsgBox("Validez vous cette saisie ?" & vbLf & vbLf & _
"Patient : " & Range("AJ" & Target.Row) & vbLf & _
"Chambre : " & Range("AH" & Target.Row) & vbLf & _
"Date d'entrée : " & entree & vbLf & _
"Fin des nuitées : " & nuit & vbLf & _
"Date de Sortie : " & sortie & vbLf, vbYesNo + vbQuestion, "Planification")

If Rep = vbNo Then
Exit Sub
Else

'pour vérifier si la saisie n'existe pas déjà dans les lignes précédentes
'If Application.WorksheetFunction._
'CountIf (Range(Cells(2,1),_
'Cells(target.Row,1)),target.value)> 1 then

'pour vérifier si la saisie n'existe pas dans la colonne
If Application.WorksheetFunction.CountIf(Range("AM:BV"), Target.Value) > 1 Then
MsgBox "Date déjà prise!"
Target.Value = ""
Target.Select
End If
End If

Exit Sub

'je vais analyser le calendrier
For Each d In Range("cal")


' ******************** Analyse du calendrier selon dates + nb jour ********************************

'je definie le nb de jour pour parcourir le calendrier 0 etant le jour d'arrivée et nb jour dernier jour
' chaque jour etant incrementé je peux donc comparer la date du calendrier au jour incrementé
For i = 0 To nbjour
If d = entree + i Then
If chambre = "chambre 1" Then
d.Offset(2, 0).Select
Range(d.Offset(2, 0).AddressLocal).Interior.Color = couleur
Else
d.Offset(5, 0).Select
Range(d.Offset(5, 0).AddressLocal).Interior.Color = couleur
End If
End If
Next

' j'analyse ici ma date de sortie
If d = sortie Then
If chambre = "chambre 1" Then
Range(d.Offset(3, 0).AddressLocal).Interior.Color = couleur
Else
Range(d.Offset(6, 0).AddressLocal).Interior.Color = couleur
End If
End If


Next
End If
End Sub

je pense avoir oublier une info à ce niveau:
'pour vérifier si la saisie n'existe pas dans la colonne
If Application.WorksheetFunction.CountIf(Range("AM:BV"), Target.Value) > 1 Then
MsgBox "Date déjà prise!"
Target.Value = ""
Target.Select
End If
End If

Exit Sub

merci aux personnes qui pourront me faire comprendre mes erreurs car je suis débutante dans ce domaine.
 

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

Bonsoir,

Je viens de regarder le fichier que vous avez envoyé, j'ai suivi vos instructions mais dès le 1er double clic vba s'ouvre et me marque un message d'erreur.
Pouvez vous me guider pour solutionner cette erreur,je vous mets la capture d'écran.
Merci de votre patience.
 

Pièces jointes

  • Capture d’écran (2).jpg
    Capture d’écran (2).jpg
    50 KB · Affichages: 45

Bebere

XLDnaute Barbatruc
Re : planning accueil temporaire

Grandcycy
avec le fichier envoyé as tu un problème
1,le fichier envoyé n'a pas les lignes qui sont en rouge(essaye de mettre en commentaire)
2,j'ai office 2003 32 bits
dans le message 64bits
inconnu pour moi
 

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

Re bonsoir,

j'ai trouvé la solution pour ma précédente question, par contre le dernier jour qui correspond à colonne sortie ex le 16/06 la couleur doit se trouver que sur la ligne sortie parce que si quelqu'un entre le 16/06 je dois pouvoir mettre sa couleur dans la ligne entrée ce qui permet le chevauchement des entrées et des sorties.

j'ai des erreurs de compilation étant débutante je n'arrive pas bien à tous saisir, quand je double clic sur la date de la personne 2 c'est la date de la personne 1 qui s'enlève, est-ce normal?
je vous avoue que j'ai du mal à tous comprendre, et je m'en excuse.
je continuerai à regarder ça demain à tête reposer.

encore merci de votre aide.
 

Bebere

XLDnaute Barbatruc
Re : planning accueil temporaire

bonjour Grandcycy
je te met une autre version dès que possible
je m'aperçois qu'il manque du code et qu'il y a des fautes
edit:entrée et sortie,dates entrées une après l'autre ou décalées
 
Dernière édition:

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

Bonjour,

ok, je vous remercie et moi de mon côté je continue à me familiariser avec les codes vba, car je suis vraiment par la programmation et de pouvoir apprendre à automatiser des supports sera un gain de temps.
encore merci pour votre patience, c'est gentil.
 

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

bonjour,

je vous remercie pour cette nouvelle version,je suis désolée mais je vais encore si c'est possible vous solliciter car quand je mets une date d'entrée le 30 juin jusqu'au 4 juillet cela ne fonctionne pas.
Je vous remets le fichier avec l'exemple.
 

Pièces jointes

  • ClasseurGrandcycyV1 (1).xls
    181 KB · Affichages: 44

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

bonjour,

je suis super contente le fichier marche comme je le percevais depuis le départ par contre à partir de l'entrée 5 j'ai tout qui se bloque et plus de calendrier qui s'affiche après je vais essayer de mettre alerte pour la saisie de doublon.
si vous avez une idée ou solution,je suis prenante et vous remercie encore infiniment pour toute votre aide à réaliser ce projet de planning d'accueil temporaire. et j'espère qu'après un apprentissage de code vba je pourrais à mon tour venir en aide comme vous le faite si simple et gentiment, à des personnes qui veulent apprendre à faire des codes.

Cordialement
 
Dernière édition:

grandcycy

XLDnaute Nouveau
Re : planning accueil temporaire

Bonjour,

Je viens pour vous dire que je me suis trompée rien ne bloque tout marche, c'est moi qui est dû faire une mauvaise manipulation désolée.
En tout cas je tiens encore une fois à vous remercier pour tout le travail que vous avez apporté sur ce fichier.

Merci::)

Cordialement Grandcycy
 

Discussions similaires

Réponses
12
Affichages
315