Macro Check-list avec renseignement des Initiales

Anthiom -  
Anthiom Messages postés 6 Statut Membre -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
  2. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
     
    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
  3. Anthiom Messages postés 6 Statut Membre
     


    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
    1. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
       
      Pour partager un fichier :
      https://www.cjoint.com/
      ou
      https://mon-partage.fr/

      Par contre, dès qu'il y aura une coche, il faudra à chaque fois afficher une fenêtre ? Ils sont tenus de cocher les 3 CkB ?
      0
  4. Anthiom Messages postés 6 Statut Membre
     
    A chaque Coche oui
    C'est faisable ?

    Merci pour les tutos de partage de fichier

    Anthony
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
     
    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
  7. Anthiom Messages postés 6 Statut Membre
     
    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. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
       
      Donc, les incrémentations d'initiales doivent s'effectuer comment ?

      Pensez à partager votre fichier ;)
      0
  8. Anthiom Messages postés 6 Statut Membre
     
    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
  9. Anthiom Messages postés 6 Statut Membre
     
    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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      C'est le 1er code!
      0
  10. Anthiom Messages postés 6 Statut Membre
     
    Ah oui

    Super, tout est ok pour moi

    Encore merci de votre aide

    Anthony
    0