Horaire de rendez-vous

camille18

XLDnaute Nouveau
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

  • Rendez-vous.xls
    35.5 KB · Affichages: 57
  • Rendez-vous.xls
    35.5 KB · Affichages: 69
  • Rendez-vous.xls
    35.5 KB · Affichages: 68

Modeste

XLDnaute Barbatruc
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?
 

job75

XLDnaute Barbatruc
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

  • Rendez-vous(1).xls
    52 KB · Affichages: 48

Discussions similaires