Hotel réservation excel

Ashley75

XLDnaute Nouveau
Bonjour à tous,
Travaillant actuellement au sein d'un hôtel aux Etats-Unis, j'ai créé une gestion de planning sur Excel afin de faciliter la gestion des bookings.
Cependant, un problème a fait surface et après plusieurs tentatives je n'arrive pas à le résoudre.
Le problème est le suivant: lorsque j'inséré une réservation entre la chambre 1 et 28 je ne rencontre aucune difficulté et le nom du client apparaît dans le calendrier ainsi que dans la feuille "Data". A partir de la chambre 29, le nom du client n'apparaît plus dans le calendrier mais apparaît seulement dans la feuille de "Data".
Je vous transmets le document en pièce jointe.

merci en avance pour votre aide
 

Pièces jointes

  • Template-Room-Booking.xlsm
    112.7 KB · Affichages: 201

Ashley75

XLDnaute Nouveau
Bonjour Chti 160,
Alors en suivant 4 tutoriels sur YouTube, je me suis mise à créer un fichier Excel me permettant de gérer la réservation d’un hôtel.
Dans la cellule ‘C13’ j’ai une formule qui me permet de faire apparaître le nom du client qui apparaît en couleur dans le calendrier lorsque j’insère un booking.
Le problème étant: a partir de la cellule C40, l’orsque j’insere un booking, le nom du client n’apparait plus dans le planning bien que j’utilise la même formule.
Je cherche donc à comprendre ce qui cloche car je ne suis pas une experte avec Excel
Merci à vous.
 

ChTi160

XLDnaute Barbatruc
Re
voila ce que j'ai change dans la procédure "Bookings" du Bouton "Add New Booking"
VB:
Sub Bookings()
    'declare the variables
    Dim bCell As Range, Rm As Range, Dt As Range, orange As Range
    Dim dCell As Range, aCell As Range, Cl As Range, Nn As Range, ID As Range
    Dim Fws As Worksheet, Bws As Worksheet
    Dim x As Integer
    Dim lastrow As Long
    Dim oCell As Variant
    Dim iCell As Variant
    Dim DerLgn As Integer 'Ici
    On Error Resume Next 
    'variables
    Set Fws = Sheet4 'data sheet
    Set Bws = Sheet2 'bookings sheet 
    'filter the data to limit
    FilterRng
    'set the range to loop through
    lastrow = Fws.Range("AJ" & Rows.Count).End(xlUp).Row
    Set orange = Fws.Range("AJ9:AJ" & lastrow)
    'clear the values from the calendar
     With Bws 'Ici
      DerLgn = .Cells(.Rows.Count, 3).End(xlUp).Row + 1 'Ici
            .Range("E13:BH" & DerLgn).ClearContents 'Ici
            .Range("E13:BH" & DerLgn).Interior.ColorIndex = xlNone 'Ici
     End With 'Ici
    'LOOP 1"""""""""""""""""""""""""""""""
    'set the variable for the number of rows and loop through
    For x = 13 To DerLgn 'Ici
        'set the room variable
        Set Rm = Bws.Cells(x, 3)     
        'LOOP 2"""""""""""""""""""""""""""""'
        'loop through column range
        For Each dCell In Bws.Range(Bws.Cells(x, 5), Bws.Cells(x, 60))
                If Not dCell Is Nothing Then
                'set the date variable
                Set Dt = Cells(12, dCell.Column)             
                'FIND FUNCTION""""""""""""""""""""
                'find the rooms
                Set aCell = orange.Find(What:=Rm, LookIn:=xlValues, _
                LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
                    If Not aCell Is Nothing Then
                    'set the room variable
                    Set bCell = aCell                 
                    'LOOP 3"""""""""""""""""""""""
                    'loop through the filtered data
                    Do
                    'find the next room with a booking
                    Set aCell = orange.FindNext(After:=aCell)
                    'establish the dates to add
                        If aCell.Offset(0, 1).Value <= Dt.Value And aCell.Offset(0, 3).Value >= Dt.Value Then
                            'set the variables
                            Set Cl = aCell.Cells(1, 5) 'status
                            Set Nn = aCell.Cells(1, 10) 'name
                            Set ID = aCell.Offset(0, -1) 'ID                         
                            'add the names and reassign after once
                            If oCell <> Nn Or iCell <> ID Then
                                dCell.Value = Nn
                                Set oCell = Nn
                                Set iCell = ID
                            End If                         
                            'add the coloring
                            Select Case Cl
                                Case "Unconfirmed"
                                dCell.Interior.ColorIndex = 27
                                Case "Confirmed"
                                dCell.Interior.ColorIndex = 24
                                Case "Paid"
                                dCell.Interior.ColorIndex = 4
                                Case "Cancelled"
                                dCell.Interior.ColorIndex = 38
                            End Select
                        End If
                'exit when values are found
                    If Not aCell Is Nothing Then
                        If aCell.Address = bCell.Address Then Exit Do
                        Else
                            Exit Do
                        End If
                    '"""""""""""
                    Loop 'LOOP 3 end
                    '"""""""""""""""""""""""""""
                    End If
                End If
            '""""""""""'
        Next dCell 'LOOP 2 end
        '"""""""""""""
    Next x 'LOOP 1 end
    '"""""""""""""""
    On Error GoTo 0
End Sub
voir lignes de codes avec " Ici " en bout de ligne .
les plages Prises en compte dans la feuille Booking étaient limitées a 40 Lignes , maintenant voir la variable DerLgn , qui détermine la dernière cellule Non vide de la Colonne 3(B)
Dans l attente
Bonne fin de Soirée
jean marie
 

Ashley75

XLDnaute Nouveau
MERCI ENORMEMENT JEAN MARIE
Je ne sais même pas comment vous remercier pour le temps que vous avez bien voulu m'accorder.
Le planning fonctionne correctement maintenant.
J'aurai une toute dernière question à vous poser: en tentant d'effacer les données des clients existants dans la feuille 'Data', j'ai constaté que suite à cette manœuvre je n'avais plus accès à certaines fonctionnalités telles que ' Edit booking' ou bien 'Delete'. Cela est-il normal?

Merci encore.
Ashley
 

ChTi160

XLDnaute Barbatruc
Bonjour Ashley75
Bonjour le Fil ,le Forum
Je vais y regarder desque possible ,mais pour cela, il faudrait que tu m expliques comment tu te sers de tous cela?
Exemple : comment utilises tu les boutons Lookup ,Delete , Edit etc etc ? (La marche a suivre et le resultat qui doit etre obtenu)
Merci par avance
Jean marie
 
Dernière édition:

Ashley75

XLDnaute Nouveau
Bonjour Chti160,

Par exemple:
1) pour insérer un booking:
- j’insere Toutes les infos concernant la reservation dans les cases correspondantes ( dates, nom prénom, adresse, numéro...)
- ensuite je clique sur ‘Add booking’ pour que cela apparaisse sur le calendrier

2) pour modifier une réservation:
- je clique sur le nom de la réservation en couleur dans le calendrier
- je clique ensuite sur ‘Lookup Booking’
- j’effectue ensuite les modifications à faire( exemple: dates, numéro de chambre, etc)
- Pour terminer, je clique sur ‘Édit booking’ pour que les modifications soient prises en compte

3) pour supprimer une réservation:
Je clique sur le nom de la réservation qui figure dans le calendrier puis je clique sur ‘Delete’

Merci
Ashley
 

Ashley75

XLDnaute Nouveau
Ah Deauville, quelle chance!
Profitez bien, je suppose que c’est bien mérité.

Je me demandais également si vous auriez une idée sur comment faire apparaître le booking en couleur dans le calendrier en le faisant démarrer l’apres-midi et le terminer le matin?

Par exemple pour une Réservation du 8 août au 16 août : faire apparaître le booking le 8 août à partir de ‘Afternoon’ jusqu’au 16 août ‘Morning’.
Cette manœuvre me permettra donc d’inserer un autre booking pour une même chambre à partir du 16 août ‘Afternoon’.

Je ne sais pas si je suis assez claire j’ai même du mal à me comprendre moi même parfois.

Bonne journée à vous.
Ashley
 

ChTi160

XLDnaute Barbatruc
Bonjour Ashley
Bonjour le Fil ,le Forum
j'avance doucement lol
une première mouture , j'ai juste travaillé sur l'affichage des Réservations sur la feuille "Booking" c'est a dire l'action sur les boutons +week et -week
j'ai aussi ajouté un Commentaire a la première Cellule (1) de chaque réservations .
a voir , on pourrait se servir des Données stoquées dans les Commentaires pour ensuite faire les recherches et autres suppressions ,modifications ...
je te joins le Fichier .
qui donc présente des anomalies , si tu utilises les autres Boutons (Normal lol)
Bonne fin de journée
jean marie
 

Pièces jointes

  • Template-Room-Booking-Chti160-4.xlsm
    163.1 KB · Affichages: 149

Ashley75

XLDnaute Nouveau
Bonjour Jean Marie,
J’espere que vous allez bien!
Merci pour votre retour j’attendais impatiemment votre réponse.
J’espere que mes demandes ne sont pas trop compliquées à réaliser, en effet je ne souhaiterai pas vous importuner.
Merci pour le fichier.

Bonne soirée.
Ashley
 

ChTi160

XLDnaute Barbatruc
Bonjour Ashley
j'avance tout doucement et tu ne m'importune pas ! lol
En relisant le Post#5
Tu dis :
"en tentant d'effacer les données des clients existants dans la feuille 'Data"
Veux tu dire que tu effaces entièrement les données de la feuille " Data " ?
si oui pourquoi ? et comment fais tu ensuite pour gérer tes réservations?
Bonne journée
jean marie
 

Ashley75

XLDnaute Nouveau
Bonjour Jean marie,
Oui en effet, j’ai tenté de supprimer tous les noms des clients dans la feuille ‘Data’. Mais en faisaient cette action, je n’arrive plus à entrer aucun booking.
J’aimerai les supprimer pour commencer une nouvelle liste de clients à partir des donnés de 2018. Mais ce n’est pas du tout une obligation ça ne me dérange pas plus que ca de conserver les données pour 2014/2015
 

Discussions similaires

Réponses
1
Affichages
393

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26