XL 2021 Créer un formulaire

fanou06

XLDnaute Occasionnel
Bonjour,

J'ai beau lire je ne comprends pas comment créer facilement un formulaire.
Par exemple pour les RDV, saisir les données des entêtes et que cela incrémente dans le tableau ?

merci.
 

Pièces jointes

  • TABLEAU_SUIVI_REGLEMENT_RDV PATIENT_2023 V_ESSAI.xlsm
    76.9 KB · Affichages: 10

vgendron

XLDnaute Barbatruc
Re,

un formulaire VBA, c'est juste une interface pour saisir, modifier supprimer des données dans tes différentes feuilles

il faut donc que tu définisses ce que tu souhaites faire avec ce formulaire
1) il faut le "dessiner"
===>ouvrir l'éditeur VBA (Alt + F11)
==> à gauche dans l'explorateur, clic droit, inserer Userform

2) sur le userform, placer les différents controls (textbox, combobox listbox...)

un peu de lecture ici: il t'explique pas à pas comment tracer le formulaire et explique à quoi servent les différents controls

3) une fois les controls placés, on verra pour le code à y associer selon les actions à faire
 

fanou06

XLDnaute Occasionnel
En fait c'est pas mal, mais le seul soucis est maintenant que je cherche une formule permettant lorsqu'un créneau horaire est déja choisi dans la liste déroulante qu'il ne soit plus disponible à la date en question . . .
Là je teste diverses formules mais je n'y parviens pas.
Avez-vous déja utilisé ce genre de formule ou macro ?

En cherchant j'ai trouvé ce code :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim cell As Range

    ' Spécifiez la plage de la liste déroulante dans laquelle vous voulez appliquer la vérification
    Set rng = Me.Range("A1:A10") ' Remplacez A1:A10 par la plage appropriée

    ' Vérifiez si la modification a été apportée à la plage spécifiée
    If Not Application.Intersect(Target, rng) Is Nothing Then
        Application.EnableEvents = False

        ' Récupérez l'heure actuelle
        Dim currentTime As Date
        currentTime = Time

        ' Parcourez chaque cellule de la plage
        For Each cell In rng
            ' Si la cellule n'est pas vide et que l'heure actuelle est supérieure à l'heure saisie, effacez la valeur de la cellule
            If Not IsEmpty(cell) And currentTime >= cell.Value Then
                cell.ClearContents
            End If
        Next cell

        Application.EnableEvents = True
    End If
End Sub

Mais en fait faut donc l'activer avant de lancer la macro ?
En exécutant ce code à chaque fois au début de la macro "formulaire" ?


Merci.
 

Discussions similaires

Réponses
3
Affichages
261
Réponses
17
Affichages
642
Réponses
18
Affichages
624

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin