Bonjour à tous et toutes,

Ma version d’Excel
Microsoft® Excel® pour Microsoft 365 MSO (Version 2309 Build 16.0.16827.20014) 64 bits

Il y a quelques jours je me suis adressé au réseau pour solutionner un problème.
( voir : If Not Intersect([G5:G20], Target) Is Nothing posté le 21/09/2023)
J’ai obtenu des réponses avec plusieurs solutions.
Merci encore à 78chris et à Franc.
Aujourd’hui je continu sur mon tableau planning et je bloque encore sur le code.
Sur ce planning de réservation sur la feuille « RESERVATION » il y a par mois trois colonnes.
Option - Location - Prêt.
Si on double clic gauche sur une cellule de la colonne « Option » on inscrit « Pré réservation du : (la date du jour) et dans le même temps on vide les deux cellules à droite.
L’appel de la macro est sous :
“Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)”
La macro m’a été donnée par 78chris.(Merci encore)
Je souhaiterai intégrer dans cette macro qui fonctionne bien deux autres macros identiques à celle pour la colonne « Option » et qui permettrait sur double-clic gauche :
1) En colonne « Location » inscrire « LOCATION LE : (la date du jour) » et dans le même temps on vide la cellule immédiatement à gauche et la cellule immédiatement à droite.
2) En colonne « Prêt » inscrire « PRÊT LE : (la date du jour) » et dans le même temps on vide les deux cellules à gauche.
Les plages nommées sont pour le moment :
1) Sur la colonne « Option » : « Groupe_1 » ; « Groupe_2 » ; « Groupe_3 » ; « Groupe_4 » ; « Groupe_5 » ; « Groupe_6 » ; « Groupe_7 » ; « Groupe_8 » ; « Groupe_9 » ; « Groupe_10 » ; « Groupe_11 » ; « Groupe_12 ».
2) Sur la colonne « Location » : « LOC_1 » ; « LOC_2 » ; « LOC_3 ». Je complèterai s’ il y a une solution.
3) Sur la colonne « Prêt » : « Pr_1 » ; « Pr_2 » ; « Pr_3 ». Je complèterai s’il y a une solution.

Voici les codes :
Premier code créé par 78chris qui fonctionne très bien et auquel je souhaiterai intégrer les autres macros pour "LOCATION" et "Prêt"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    Dim zzone As Range
    Dim goon As Boolean
    Dim i As Byte
 
    goon = False
    For i = 1 To 12 'nombre de groupes nommés définis pour colonne "OPTION"
        Set zzone = Range("Groupe_" & i)
        If Not Intersect(Target, zzone) Is Nothing Then
            goon = True
            Exit For
        End If
     Next i
     If goon = False Then Exit Sub
 
 ' Vider les deux cellules à droite
  Target.Offset(0, 2) = ""
  Target.Offset(0, 1) = ""
 
'Information à inscrire
    Target.Value = "Pré réservation du : " & Chr(13) & Chr(10) & Format(Date, "dd mm yyyy")
    Cancel = True
 
End Sub

Second code pour "LOCATION" mais que je souhaite intégrer dans le code ci-dessus (celui-ci fonctionne mal mais avec "clic-droit")

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim loczzone As Range
    Dim locgoon As Boolean
    Dim i As Byte
 
    locgoon = False
    For i = 1 To 12 'nombre de groupes nommés définis pour la LOCATION
        Set loczzone = Range("LOC_" & i)
        If Not Intersect(Target, loczzone) Is Nothing Then
            locgoon = True
            Exit For
        End If
     Next i
     If locgoon = False Then Exit Sub
 
 
  ' Vider les deux cellules une à droite et une à gauche
 Target.Offset(0, -1) = ""
 Target.Offset(0, 1) = ""
 
'Information à inscrire
    Target.Value = "LOCATION LE : " & Chr(13) & Chr(10) & Format(Date, "dd mm yyyy")
    Cancel = True
End Sub
Le troisième code devrait être identique aux deux précédents mais pour la colonne "Prêt". Ce code devra être intégré dans une seule macro "double-clic gauche"

LE FICHIER :
RESERVATION SALLE_V2.xlsm


Merci à tous et toutes.