Modification macro : changebytarget
Bonjour,
j'aimerais modifier le code VBA suivant
Option Explicit
Dim an&, mois$, fp As Worksheet
Dim i&, col&, ln&, hln&, s$, flag&
Sub Valider()
an = Year(Range("C4"))
Set fp = Sheets("Planning")
mois = MonthName(Month(Range("C4")))
s = Range("C5") 'définition de la salle
Sheets("Planning").Range("E4") = mois
col = Range("C4") - DateSerial("2023", "1", "1") + 6
flag = 0
For i = 6 To 115
If fp.Cells(i, col) = "X" And fp.Range("D" & i) = s Then 'si la cellule (ligne, colonne) contient "x" et que ça correspond à la ligne correspondant à la salle S, alors
flag = 1 'si c'est vrai
Exit For 'on sort de la boucle
End If
Next i 'on passe à la ligne suivante
If flag = 0 Then 'si c'est faux
Range("D4") = 1 / 3
'Range("F8:F" & 29) = "Libre"
Range("H8:I" & 29).ClearContents
Exit Sub
End If
If fp.Range("E" & i) <> "" Then
hln = i
Else
hln = fp.Range("E" & i).End(xlUp).Row
End If
Range("D4") = fp.Range("E" & hln)
For i = 8 To Range("G" & Rows.Count).End(xlUp).Row
If Application.Round(Range("G" & i), 9) = Application.Round(Range("D4"), 9) Then
Range("H" & i) = fp.Range("B2")
Range("I" & i) = fp.Range("B7")
End If
'If Application.Round(Range("G" & i), 9) >= Application.Round(Range("D4"), 9) Then
'Range("F" & i) = "Occupée"
'Else
'Range("F" & i) = "Libre"
'End If
Next i
End Subafin de :
Sur l'onglet 'disponibilité des salles' cellule $A$4, je renseigne la date souhaitée en formation jj/mm/aaaa.
En cliquant sur "valider", les informations correspondant à la date $A$4, à l'heure (indiquée pour chacune des salle à la deuxième colonne du tableau) et la salle indiquée en ligne 6).
La colonne "Occupée'"/"Libre" sera incrémentée d'une MFC avec fonction SI. Je ne souhaite pas qu'elle soit macronisée
Pour exemple, je vous joins le tableau. L'ancienne macro fonctionne dans l'onglet "réservation", au cas où.
Merci par avance !
Bonjour,
Avant de passer au multi salles
J'ai rajouté un bouton "Valider modifié" à côté tu bouton existant comme cela tu peux voir la différence. Peux-tu me dire si c'est le résultat que tu souhaites sur une seule salle ?
Sinon je n'ai pas compris la demande ...
Bonsoir Cylfo !
Oui.. On m'a aidé à créé la macro mais il sur les salles 1 et 2 essentiellement il me semble, la macro dysfonctionnait. Erreur de code ou mauvaise manip bonne question... Je suis pas assez expérimentée en macro pour te dire...
Toutefois tu as tout à fait compris l'objet de ma demande ! C'est exactement la macro valider modifié qui fonctionne et qu'il me fallait... !
Dans la deuxième étape de mon outil, j'aimerais modifier la macro pour avoir un visu (deuxième outil) sur toute les salles juste en indiquant un jour.
Je ne souhaite pas que mes tableaux changent si quelqu'un modifie l'heure sur la feuille.
Merci 1000 fois ! Et une excellente soirée à toi !
Peux-tu préciser ce que tu veux dire par "Je ne souhaite pas que mes tableaux changent si quelqu'un modifie l'heure sur la feuille." ?
Si tu fais référence à la feuille "Disponibilité des salles", il n'y a plus d'heure d'indiquée (comme en "D4" sur la feuille [Réservation]) donc j'imagine que c'est pour avoir une visu complète des salles et voir celles qui sont disponibles pour le créneau horaire de réservation. C'est cela ?
Oui c'est exactement ça, je voulais le préciser quand même pour pas que vous m'aidiez en prenant en compte l'heure...
Si j'ajoute, séparément de la macro, une cellule horaire, ce sera juste pour faire une mise en forme conditionnelle, à la limite pour que l'heure en question se mettent en surbrillance dans les tableaux de disponibilité des salles.
Mais ça, ce sera en plus et je sais pas encore si mon idée va évoluer.
Une bonne journée à toi