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. 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 !


    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
    2. A chaque Coche oui
      C'est faisable ?

      Merci pour les tutos de partage de fichier

      Anthony
      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 ?
        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
          1. Donc, les incrémentations d'initiales doivent s'effectuer comment ?

            Pensez à partager votre fichier ;)
        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/
          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. 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
              1. Contributeur
                C'est le 1er code!
            2. Ah oui

              Super, tout est ok pour moi

              Encore merci de votre aide

              Anthony