Horaire de rendez-vous

  • Initiateur de la discussion Initiateur de la discussion camille18
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

camille18

Guest
Bonjour,

Je souhaite faire un horaire de rendez-vous pour une
petite entreprise. En pièce jointe, vous retrouvez un exemple de
ce à quoi l'horaire pourrait ressembler. Ce que je voudrais, c'est
que la secrétaire puisse simplement entrer les informations dans les cases
prévues à cet effet, et qu'elles soient enregistré selon la date. Ainsi, lorsqu'on
change de date, la feuille est vierge, ou remplis des rendez-vous qui
ont déjà été prévus.

Je suis assez à l'aise avec Excel, mais je suis toutefois débutante en VBS.
Est-ce que quelqu'un pourrait m'aider? J'espère que ma requête est assez claire! 🙂

Merci!
 

Pièces jointes

Re : Horaire de rendez-vous

Bonjour camille18 et bienvenue,

Ce que tu demandes n'est pas infaisable, mais pourquoi ne pas simplement enregistrer ton fichier comme Modèle Excel (extension .xlt ou .xltx)?
D'accord, il te faudra te positionner en C2 et faire Ctrl+; pour afficher la date, puis enregistrer ton fichier "à la main", mais bon, au moins ça ne demande pas de compétence en VBA!?

Ceci étant dit, on peut te donner un coup de main pour le code, si tu y tiens vraiment ... Mais ... as-tu déjà testé l'enregistreur de macros?
 
Re : Horaire de rendez-vous

Bonjour camille18, Modeste, le forum,

Voyez le fichier joint et cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range, plage As Range, dat As String
Dim tablo, ub As Integer, i As Long, j As Integer
Set cel = [C2] 'adapter éventuellement
Set plage = [C7:F37] 'adapter éventuellement
If Intersect(Target, cel) Is Nothing Then Exit Sub
Application.EnableEvents = False
On Error Resume Next
Application.Undo 'annule l'entrée
If IsDate(cel) Then dat = Format(cel, "_yyyy_mm_dd")
Application.Undo 'rétablit l'entrée
Application.EnableEvents = True
If dat <> "" Then ThisWorkbook.Names.Add dat, plage.Value 'nom défini
plage = "" 'RAZ
tablo = Evaluate(Format(cel, "_yyyy_mm_dd"))
ub = UBound(tablo, 2)
For i = 1 To UBound(tablo)
  For j = 1 To ub
    If Not IsError(tablo(i, j)) Then plage(i, j) = tablo(i, j)
  Next
Next
End Sub
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour