Microsoft 365 Code incomplet

Marvin57

XLDnaute Occasionnel
Bonjour à tout le monde,

j'ai récupéré un fichier qui pourrait m'aider, mais je n'arrive pas à mettre en place les codes .

Il contient des codes que j'ai réussi à modifier, mais je n'arrive pas à adapter les deux codes suivants: " Actualiser_Planning_Reservations" et le code " SupprPlanningReservations ".
Je pense que dans ces deux codes il y a des instructions manquantes !

Pour vous donner une explication du fonctionnement du fichier;

En appelant le UserForm " DEMANDE_RESERVATIONS " (en cliquant sur le bouton " Saisir une réservation") , je veux pouvoir saisir le nom de client, le nombre de jours dans le textbox5 et suite à la saisie de ce nombre de jour dans ce textbox et la saisie de la date d'arrivée choisie, il me renseignera la date de départ.

Une fois que cela fonctionne, il faudrait également pouvoir modifier des lignes si nécessaire en cliquant sur le client voulu dans la listbox1 et une fois les infos modifiées je pourrai cliquer sur le bouton modifier.

Pour l'instant je vous laisse regarder et si besoin vous me dites si quelque chose est mal expliqué s'il vous plaît.

Merci à vous en attendant.

Marvin57
 

Pièces jointes

  • MARVIN57 PLANNING RESERVATIONS.xlsm
    94.7 KB · Affichages: 4
Solution
Bonjour,

@Marvin57 : Code à copier dans un module standard. Ensuite l'appeler à partir de l'évènement Activate de la feuille PLANNING RESERVATIONS. Clic-droit sur l'onglet, visualiser le code et tu colles les lignes ci-dessous
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Actualiser_Planning
End Sub
Dans module standard ci-dessous
Code:
Sub Actualiser_Planning()   'valider
'/!\ Attention! Il faut supprimer la 1ère colonne Nom, la ligne des dates doit débuter en A5
   Dim RngDate As Range, rng As Range, col1 As Integer, col2 As Integer, LigFeuil As Integer
   Dim colfeuil As Integer, i As Integer, x As Byte, couleur As Byte, lig As Long
   Dim plage As Range, DateDebut As Long, derlig1 As Long, derlig2 As Long...

Marvin57

XLDnaute Occasionnel
Est-ce que l'absence de précision dans ta réponse veut dire qu'une éventuelle nouvelle proposition de ma part ne t'intéresse pas ?



C'est ce que ma dernière proposition fait chez moi, à ceci près que dans ma proposition il y a un "saut de ligne" (dans la cellule) entre le nom et l'annotation.
Arf ! Ça voudrait dire que tu n'es qu'un humain ?!?
Quelle déception d'apprendre ça !
😂 😂 😂

Plus sérieusement : ne pas tenir compte de mon message #44, je suis sur mon tél donc je réponds au fur et à mesure que je lis les réponses du fil de discussion...
Pas de soucis, c'était de ma faute, si j'avais fais attention on n'en serait pas la. 🙉🙈🙊

Je te place en pièce jointe le fichier avec le Userform Comme il devrait être. J'ai supprimé des combobox et boutons de calendrier etc.

Comme je le disais tout à l'heure, ta proposition fonctionne pour la saisie de réservations.

Par contre, si je clique par exemple sur une réservation dans la listbox pour la modifier, il me la modifie bien dans le tableau LISTING RESERVATIONS mais pas dans le tableau PLANNING RESERVATIONS.

Peux tu revoir cela S'il te plaît.

Merci d'avance
 

Pièces jointes

  • MARVIN57 PLANNING RESERVATIONS_TooFatBoy.xlsm
    229.8 KB · Affichages: 0

TooFatBoy

XLDnaute Barbatruc
Par contre, si je clique par exemple sur une réservation dans la listbox pour la modifier, il me la modifie bien dans le tableau LISTING RESERVATIONS mais pas dans le tableau PLANNING RESERVATIONS.

Peux tu revoir cela S'il te plaît.
Du coup il n'y a peut-être pas de recherche à faire dans le tableau à modifier, si la ListBox contient le même nombre de lignes, et dans le même ordre, que ledit tableau.

Si tu veux, je regarderai ça ce soir.
 

Marvin57

XLDnaute Occasionnel
Bonjour le Fil
petite question.
quand tu dis :

quelles sont les données Modifiables ?
Bonne fin de Journée
Jean marie
re Jean marie

Admettons:
- au lieu de 3 jours de réservations il ne veut que 2 jours.
- le nom du client change pour cette réservation.
- les dates changent.

Il me fait tout cela très bien dans le Tableau de l'onglet LISTING RESERVATIONS mais ne modifie pas dans le tableau de l'onglet PLANNING RESERVATIONS.

J'ai également le soucis quand par exemple je selectionne une réservation dans la listbox pour la supprimer complètement. Il me la supprime bien dans le Tableau de l'onglet LISTING RESERVATIONS mais pas dans le tableau de l'onglet PLANNING RESERVATIONS.

Merci à vous.
 

cp4

XLDnaute Barbatruc
@Marvin57 : Comme tu voulais au post#36
C'est à dire si un client par exemple nommé Henri fait une réservation du 15/02/2024 au 16/02/2024 avec une note comme par exemple Réunion, il devrait m'inscrire " Henri Réunion " dans les dates 10, 11, 12, 13, 14, 15 et 16 février.
Cependant, il faut faire débuter les dates en A5, c-à-d supprimer la colonne Nom.

Copie et colle cette procédure en remplacement de l'existante dans le formulaire.
Partie modifier non traitée.
VB:
Private Sub Actualiser_Planning_Reservations()   'valider
'/!\ Attention! Il faut supprimer la 1ère colonne Nom, la ligne des dates doit débuter en A5
   Dim RngDate As Range, rng As Range, col As Integer, lig As Integer, cel As Range

   Application.ScreenUpdating = False

   With Sheets("planning reservations")
      Set RngDate = .Range("$A$5:$AN$5")
      lig = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
      col = Application.Match(CLng(CDate(TextBox2)), RngDate, 0)
      Set cel = .Cells(lig, col)
      cel.Resize(1, Val(TextBox5)) = TextBox6 & "  " & TextBox4
   End With
Application.ScreenUpdating = True
Sheets("PLANNING RESERVATIONS").Activate
Unload Me
End Sub

Résultat obtenu ci-dessous (réservation de 5 jours)
1707764064153.png


En attendant ton retour, bonne soirée.

nb: merci de joindre ton dernier fichier à jour.
 
Dernière édition:

cp4

XLDnaute Barbatruc
Bonjour les gars,

@Marvin57 : Si tu tiens à continuer uniquement avec @TooFatBoy . Merci de le dire. Ce qui me permettra d'aider une autre personne. Car je n'ai pas eu de retour à ma proposition du post#51, répondant à ton post#36 où tu nous expliquais ci-dessous
C'est à dire si un client par exemple nommé Henri fait une réservation du 15/02/2024 au 16/02/2024 avec une note comme par exemple Réunion, il devrait m'inscrire " Henri Réunion " dans les dates 10, 11, 12, 13, 14, 15 et 16 février.
 

TooFatBoy

XLDnaute Barbatruc
Car je n'ai pas eu de retour à ma proposition du post#51, répondant à ton post#36 où tu nous expliquais ci-dessous
Bien sûr je ne saurais répondre à la place de Marvin, mais je crois qu'il a dit que pour cette partie il prenait ma proposition de #23.
Ceci dit, s'il préfère ta proposition de #51, pas de souci. C'est lui qui voit : on propose, il dispose. ;)


@Marvin57 : Si tu tiens à continuer uniquement avec @TooFatBoy . Merci de le dire. Ce qui me permettra d'aider une autre personne.
Ce ne sera vraisemblablement pas le cas, car ce matin je lui ai expliqué en MP que son projet me dépassait complètement.
 

Marvin57

XLDnaute Occasionnel
@Marvin57 : Comme tu voulais au post#36

Cependant, il faut faire débuter les dates en A5, c-à-d supprimer la colonne Nom.

Copie et colle cette procédure en remplacement de l'existante dans le formulaire.
Partie modifier non traitée.
VB:
Private Sub Actualiser_Planning_Reservations()   'valider
'/!\ Attention! Il faut supprimer la 1ère colonne Nom, la ligne des dates doit débuter en A5
   Dim RngDate As Range, rng As Range, col As Integer, lig As Integer, cel As Range

   Application.ScreenUpdating = False

   With Sheets("planning reservations")
      Set RngDate = .Range("$A$5:$AN$5")
      lig = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
      col = Application.Match(CLng(CDate(TextBox2)), RngDate, 0)
      Set cel = .Cells(lig, col)
      cel.Resize(1, Val(TextBox5)) = TextBox6 & "  " & TextBox4
   End With
Application.ScreenUpdating = True
Sheets("PLANNING RESERVATIONS").Activate
Unload Me
End Sub

Résultat obtenu ci-dessous (réservation de 5 jours)
Regarde la pièce jointe 1190603

En attendant ton retour, bonne soirée.

nb: merci de joindre ton dernier fichier à jour.
Bonjour cp4
Désolé du retard. J'ai essayé avec ta proposition mais si j'enlève la colonne noms il m'inscrit quand même le nom en colonne à.
Faudrait voir d'où cela vient.
Merci à toi
 

Marvin57

XLDnaute Occasionnel
Bien sûr je ne saurais répondre à la place de Marvin, mais je crois qu'il a dit que pour cette partie il prenait ma proposition de #23.
Ceci dit, s'il préfère ta proposition de #51, pas de souci. C'est lui qui voit : on propose, il dispose. ;)



Ce ne sera vraisemblablement pas le cas, car ce matin je lui ai expliqué en MP que son projet me dépassait complètement.
Re,
Je resterai sur ta proposition TooFatBoy. Pour ne pas mélanger les pinceaux.
 

cp4

XLDnaute Barbatruc
Bien sûr je ne saurais répondre à la place de Marvin, mais je crois qu'il a dit que pour cette partie il prenait ma proposition de #23.
Ceci dit, s'il préfère ta proposition de #51, pas de souci. C'est lui qui voit : on propose, il dispose. ;)



Ce ne sera vraisemblablement pas le cas, car ce matin je lui ai expliqué en MP que son projet me dépassait complètement.
Merci de m'avoir répondu. En fait, il est comme moi à mes débuts. Il croit dur comme fer que la solution à son problème doit se faire selon sa conception.
Son projet est un foireux car déjà, on peut faire un enregistrement antérieur à la date du jour.
Moi aussi, je me retire.

Bonne journée.
 

TooFatBoy

XLDnaute Barbatruc
En fait, il est comme moi à mes débuts. Il croit dur comme fer que la solution à son problème doit se faire selon sa conception.
Pour dégrossir les lignes directrices du projet, sans polluer ce fil de discussion, j'ai discuté avec notre camarade Marvin en MP, et il s'avère qu'en réalité il est totalement ouvert à toute proposition de modification. 👍
Mais le projet est beaucoup trop complexe pour moi : gestion des dates comme tu le dis (moi j'avais pensé à une résa le 30 décembre pour 35 jours...), gestion des chevauchements de réservations, peut-on réserver plusieurs choses (ce qui du coup compliquerait encore plus la gestions des chevauchement), etc.


Son projet est un foireux car déjà, on peut faire un enregistrement antérieur à la date du jour.
C'est normal : c'est "un peu foireux" parce que c'est en cours de développement, donc il y a forcément des "détails" (plus ou moins gros) à ajuster. ;)
 
Dernière édition:

Statistiques des forums

Discussions
312 371
Messages
2 087 697
Membres
103 644
dernier inscrit
bsalah