Tableau de reservation avec nom des clients

Bonjour à tous ,

Je vous explique : j'ai un fichier excel que j'ai récupéré sur internet que j'ai légèrement adapté à mon besoin mais depuis un petit moment je bloque sur un point. C'est un fichier de gestion de réservation. Sur l'onglet "mois" je peux visualiser les réservations sur un planning mensuel. Lorsqu'un appartement est réservé, le planning se met bien à jour (la case se met en rouge sur l'appartement correspondant et aux différents jours correspondant à la date du séjour. Le problème c'est que je n'arrive pas à faire en sorte que s'affiche le nom du client s'affiche juste en dessous de la 1ère case rouge (qui correspond donc au jour d'arrivé du client). je ne maitrise pas complètement les macros et les essais sont infructueux, je me suis dit qu'avec la fonction RECHERCHE cela pourrait être possible mais cela ne fonctionne pas (à moins qu'il soit possible de cumuler une fonction SI et deux critères de recherches mais je n'y suis pas arrivé),

Je ne baisse pas les bras, je suis sure que la solution existe mais j'ai beau chercher et me creuser la tête a essayer de trouver une solution avec ce que je maitrise d'excel...je bloque vraiment... mais si quelqu'un avait une suggestion à me faire ou même m'orienter sur une piste cela serait vraiment sympa. Petite difficulté supplémentaire : le document doit être compatible avec la version 2003....le fichier est visible sous ce lien : https://drive.google.com/file/d/0B6QvVXAurfjzVHcwcl8yMVJsem8/view?usp=drivesdk

Bonjour,

c'est au delà de mes compétences et SURTOUT sans voir une copie identique à ton fichier de travail ...

P.

Oui le fichier est trop gros du coup j'ai mis le lien.

Bonjour,

en M4 tu peux mettre

=SIERREUR(INDEX(Reservation!$B$4:$B$1503;EQUIV($D39&M$7;Reservation!$I$4:$I$1503&Reservation!$C$4:$C$1503;0));"")

en validant par Ctrl+Maj+Entrée (formule matricielle)

et recopier sur autres cellules

nota : je te conseille de mettre les Réservations sous forme de "tableau excel" !

Bonjour, merci pour ta proposition mais j'ai mis ma formule sur la case M40 et suivi les indications ...cela n'a pas fonctionné. Ce que je souhaiterai c'est que les infos apparaissant dans le tableau situé de N86 à S128 apparaissent automatiquement dans les cases correspondantes entre les lignes M10 et S80. Pour reprendre un exemple du tableau ce que je souhaite c'est que le NOM "KOLAKOWSKI " (case O86) apparaissent en M40 car l'appartement est le 205 (N86) et la date d'arrivée est le 11/02 (R86).

M40 en effet

Chez moi cela fonctionne

As-tu validé par Ctrl+Maj+Entrée ?

capture d ecran 91

Bonsoir,

J'ai complètement laissé ce tableau de côté depuis un petit moment mais j'y reviens et j'ai vraiment besoin de trouver une solution. Je viens de réessayé à nouveau...et cela ne fonctionne pas....pour moi c'est un mystère car normalement le nom devrait apparaitre....est ce que quelqu'un à un autre conseil svp?

Envoie la modif telle que tu l'as faite, je vais regarder ...

Bonjour

Grasse a ton planning j'ai fais un grand pas dans mon projet. Mais dans ta formule il faut enlever 1 jour d'occupation.

exemple date arrivée le 02/05/2017 départ le 05/02/2017 dons le 05/02/2017 est libre. et je ne trouve pas la solution pour faire le changement de ta formule: =SI($A4<>"";1-SOMMEPROD((Réservation!$D$2:$D$979<=E$3)*(Réservation!$E$2:$E$979>=E$3)*(Réservation!$I$2:$I$979=$A4));""). Et je n'arrive pas à faire en sorte que s'affiche le nom du client. Je cherche aussi la solution de pouvoir louer plusieurs chambres a la même personne.

Mon tableau Excel se rempli avec Visual Basic Click sur CTRL+SIFT+A pour remplir le formulaire

Un GRAND MERCI si tu as une Solution

Bonne soirée

Bruno

il faut enlever 1 jour d'occupation.

exemple date arrivée le 02/05/2017 départ le 05/02/2017 dons le 05/02/2017 est libre.

Bonjour Bruno et bienvenue

Il suffit de changer un signe >= en >

=SI($A4<>"";1-SOMMEPROD((Réservation!$D$2:$D$979<=B$3)*(Réservation!$E$2:$E$979>B$3)*(Réservation!$I$2:$I$979=$A4));"")

Pour le reste, je regarde ...

Bonjour Steelson,

Merci pour ta réponse sur rapide,

Mon planning est a jour avec ta solution.

Je bidouille un peu Excel, mais grasse a des passionnés comme toi je fais des progrès.

Joyeux Noël et Bonne et Heureuse Année 2018

Bruno

Je n'arrive pas à faire en sorte que s'affiche le nom du client.

Je cherche aussi la solution de pouvoir louer plusieurs chambres a la même personne.

Où faut-il afficher le nom ?

J'ai mis ici le nom le jour de son arrivée

Formule complexe ET matricielle => risque de ralentir excel à terme !

Je cherche aussi la solution de pouvoir louer plusieurs chambres a la même personne.

Le plus simple serait de créer une réservation/chambre, donc 3 réservation si 3 chambres !

Les réservations sont sous forme de tableau; chaque ajout agrandit automatiquement le tableau "Res". Cela simplifie la lecture de la formule et devrait accélérer la recherche du nom.

Mille Merci

C Vraiment sympa d'avoir les noms sur le planning

Je cherche toujours pourquoi avec mon UserForm mes champs "Date Arrivée et Départ" ne s'enregistre pas en forma Date sur mon tableau Excel afin de remplir le Planning.

Je suis obligé de les ressaisir.

Bonnes Fêtes

Bruno

En effet, c'est ce dont je viens de m'apercevoir ... je vais regarder cela.

Pour les réservations multi chambres, j'ai une solution assez simple par fonction personnalisée

Function Reservation(quand As Range, chambre As Range) As Variant
Dim ligne As Integer
Application.Volatile
Reservation = ""
If chambre.Value = "" Then Exit Function
With Sheets("Réservation")
    For ligne = 2 To .Cells(Application.Rows.Count, 1).End(xlUp).Row
        If .Cells(ligne, "I").Value = chambre.Value Or .Cells(ligne, "J").Value = chambre.Value Or .Cells(ligne, "K").Value = chambre.Value Or .Cells(ligne, "L").Value = chambre.Value Then
            If .Cells(ligne, "D").Value <= quand.Value And .Cells(ligne, "E").Value > quand.Value Then
                If .Cells(ligne, "D").Value = quand.Value Then
                    Reservation = .Cells(ligne, "B").Value
                Else
                    Reservation = 0
                End If
            End If
        End If
    Next
End With
End Function

Explication du contenu de la cellule :

  • si pas de réservation, je mets "" (au lieu de 1 comme auparavant sinon je ne pourrai pas afficher le nom d'après la MFC)
  • si réservation :
  • - premier jour je mets le nom
  • - autres jours je mets 0 ... c'est cela l'astuce : le 0 ne s'affiche pas car j'ai coché une option de la feuille qui dit "ne pas afficher les valeurs nulles", mais ce 0 est pris en compte dans la MFC pour colorier en rouge; l'inconvénient est qu'un nom un peu long est tronqué

On pourrait aller encore plus loin sans doute mais plus complexe : centrer le nom sur plusieurs colonnes + indiquer par une barre vérticale la plage quand 2 plages se suivent + mettre en couleur par macro dans ce cas car la MFC ne fonctionnerait pas en centrage multicolonnes

mais je pense qu'il faut savoir rester simple ...

Voilà, il faut ajouter CDate dans le code de l'UserForm

Cela donne in fine ceci

Rechercher des sujets similaires à "tableau reservation nom clients"