Macro Check-list avec renseignement des Initiales

Bonjour,

Etant novice en macro, je fais appel à vous.

Voici ce que je souhaite faire :
Sur Excel, j'ai mis en place une checklist de choses à faire et je voudrais que lors de la validation de la checkbox une fenêtre s'ouvre et demande à l'opérateur ses initiales et que celles-ci soient automatiquement reportées sur la case de la ligne à coté
(ex : checkbox sur A1 reporte des initiales sur A2

Merci de votre aide

Configuration: Windows / Internet Explorer 11.0

9 réponses

  1. Contributeur
    Bonjour,

    Faire Alt F11 sur la feuille concernée et mettre ce code:

    Option Explicit
    Dim initiale As String
    Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
    demande
    Range("C5").Value = initiale
    End If
    End Sub
    Private Sub CheckBox2_Click()
    If CheckBox2.Value = True Then
    demande
    Range("C6").Value = initiale
    End If
    End Sub
    Private Sub CheckBox3_Click()
    If CheckBox3.Value = True Then
    demande
    Range("C4").Value = initiale
    End If
    End Sub
    Sub demande()
    initiale = InputBox("Saisie de votre Initiale : ", "Initiale", "AB")
    If initiale = "" Then
    initiale = InputBox("Saisie de votre Initiale : ", "Initiale", "AB")
    End If
    End Sub
    


    et si tu veux garder toutes les initiales:

    Option Explicit
    Dim initiale As String
    Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
    demande
    Range("C5").Value = Range("C5").Value & initiale & ", "
    End If
    End Sub
    Private Sub CheckBox2_Click()
    If CheckBox2.Value = True Then
    demande
    Range("C6").Value = Range("C6").Value & initiale & ", "
    End If
    End Sub
    Private Sub CheckBox3_Click()
    If CheckBox3.Value = True Then
    demande
    Range("C4").Value = Range("C4").Value & initiale & ", "
    End If
    End Sub
    Sub demande()
    initiale = InputBox("Saisie de vos Initiales : ", "Initiale", "AB")
    If initiale = "" Then
    initiale = InputBox("Saisie de vos Initiales : ", "Initiales", "AB")
    End If
    Worksheets("Feuil2").Columns("C").AutoFit
    End Sub
    


    il faut enregistrer le classeur acceptant les macros

    voilà

    1
    1. Bonjour,
      vous parlez d'une checklist de choseS à faire et en parallèle, la validation d'UNE checkbox.

      Laquelle est-elle ? Elle valide quoi ?

      Il faudrait, qu'à la coche de celle-ci, faire ouvrir un UserForm avec obligation de mettre les initiales et ensuite le bouton de validation incrémente la valeur de la TextBox dans la cellule/colonne désirée.

      L'idéal serait d'avoir votre fichier (sans données) confidentielles, pour en connaitre sa structure !
      0


      1. Bonjour,

        Oui voila !
        Le monteur coche la case correspondante à l'action effectuée, cela lui ouvre une fenêtre où il doit rentrer ses initiales.
        Puis celles-ci sont reportées dans la colonne "initiale" à coté de la case cochée

        J'ai mis une image faut de pouvoir mettre un fichier excel.

        Merci de ton aide :)

        Anthony
        0
      2. A chaque Coche oui
        C'est faisable ?

        Merci pour les tutos de partage de fichier

        Anthony
        0
        1. Ne pensez-vous pas qu'ils vont trouver ça rébarbatif ?

          Autre solution :
          -si les 3 cases ne sont pas cochées : une boîte de dialogue les avertissant
          -dès que les 3 cases sont cochées, un UserForm demandant les initiales

          Par contre, les initiales précédemment entrées devront être écrasées ?
          0
          1. Ce sont des actions qui durent plusieurs minutes donc peu rébarbatif pour l'opérateur.
            J'ai besoin d'un suivi régulier, impossible d'attendre que les 3 cases soient cochées pour valider le tout

            Non, les initiales ne doivent surtout pas être écrasés.

            Merci de votre aide

            AG
            0
            1. Donc, les incrémentations d'initiales doivent s'effectuer comment ?

              Pensez à partager votre fichier ;)
              0
          2. Euh ...

            Dans mon esprit l'opérateur coche la case de se qu'il a fait aujourd'hui puis une fenêtre s'ouvre, il rentre ses initiales puis elles sont archivées dans la case initiale correspondante à la tache.
            Le lendemain un autre opérateur fait la deuxième tache, il fait de même et ce sont ses initiales qui sont archivées.
            C'est peut-être trop compliqué à mettre en place. Je n'ai pas le niveau nécessaire malheureusement pour créer cette macro.

            Lien : https://mon-partage.fr/f/qtz9E427/
            0
            1. Super !! Cela fonction bien
              Je te remercie !!

              Dernière demande :
              Actuellement si l'opérateur décocher et recoche une checkBox, les initiales s'ajoutent aux précédentes alors que je voudrais qu'elles les remplacent.
              Est ce que c'est facile à mettre en place dans le code ?

              Merci
              Anthony
              0
              1. Contributeur
                C'est le 1er code!
                0
            2. Ah oui

              Super, tout est ok pour moi

              Encore merci de votre aide

              Anthony
              0