Créer un tableau Kanban, Excel VBA

Créer un tableau Kanban, Excel VBA

Voici comment créer un tableau Kanban dans Excel avec VBA, avec des explications détaillées. Le tableau Kanban permettra de suivre l’avancement des tâches entre différentes colonnes comme « À faire », « En cours » et « Terminé ». Chaque tâche sera représentée par une ligne ou une cellule, et vous pourrez déplacer les tâches d’une colonne à l’autre au fur et à mesure de leur progression.
Étape 1 : Configurer la mise en page de la feuille Excel
1. Créer des colonnes : Créez des colonnes pour chaque étape de votre flux de travail, par exemple :

  • Colonne A : « Nom de la tâche »
  • Colonne B : « À faire »
  • Colonne C : « En cours »
  • Colonne D : « Terminé »

2. Données des tâches : Chaque ligne représente une tâche, et les tâches se déplacent d’une colonne à l’autre en fonction de leur avancement.
3. Mise en forme des cellules : Vous pouvez formater les colonnes avec des couleurs de fond pour différencier les étapes.
Étape 2 : Créer un module VBA pour ajouter la logique Kanban
Voici un code VBA détaillé pour créer un tableau Kanban simple avec la possibilité de déplacer les tâches entre les colonnes en cliquant sur des boutons.

Sub CreateKanbanBoard()
    ' Crée une nouvelle feuille de travail pour le tableau Kanban
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets.Add
    ws.Name = "Kanban Board"
    ' Créer les en-têtes du tableau Kanban
    ws.Cells(1, 1).Value = "Nom de la tâche"
    ws.Cells(1, 2).Value = "À faire"
    ws.Cells(1, 3).Value = "En cours"
    ws.Cells(1, 4).Value = "Terminé"
    ' Mise en forme des en-têtes
    ws.Rows(1).Font.Bold = True
    ws.Rows(1).Interior.Color = RGB(0, 102, 204) ' Fond bleu pour les en-têtes
    ws.Rows(1).Font.Color = RGB(255, 255, 255) ' Texte en blanc
    ' Mise en forme des colonnes pour une meilleure visibilité
    ws.Columns("A:D").AutoFit
    ws.Columns("A:A").ColumnWidth = 20
    ws.Columns("B:D").ColumnWidth = 15
    ' Exemple de tâches (ajoutées dans la colonne "À faire")
    ws.Cells(2, 1).Value = "Tâche 1"
    ws.Cells(3, 1).Value = "Tâche 2"
    ws.Cells(4, 1).Value = "Tâche 3"
    ' Insérer les boutons pour déplacer les tâches
    InsertKanbanButtons ws
End Sub
Sub InsertKanbanButtons(ws As Worksheet)
    ' Crée un bouton pour déplacer les tâches entre les colonnes
    ' Bouton pour déplacer une tâche vers "En cours"
    Dim btnEnCours As Button
    Set btnEnCours = ws.Buttons.Add(Left:=ws.Cells(2, 2).Left, Top:=ws.Cells(2, 2).Top, Width:=100, Height:=30)
    btnEnCours.OnAction = "MoveToInProgress"
    btnEnCours.Caption = "Déplacer en cours"
    ' Bouton pour déplacer une tâche vers "Terminé"
    Dim btnTermine As Button
    Set btnTermine = ws.Buttons.Add(Left:=ws.Cells(2, 3).Left, Top:=ws.Cells(2, 3).Top, Width:=100, Height:=30)
    btnTermine.OnAction = "MoveToDone"
    btnTermine.Caption = "Déplacer terminé"
    ' Bouton pour déplacer une tâche vers "À faire"
    Dim btnRetourToDo As Button
    Set btnRetourToDo = ws.Buttons.Add(Left:=ws.Cells(2, 4).Left, Top:=ws.Cells(2, 4).Top, Width:=100, Height:=30)
    btnRetourToDo.OnAction = "MoveBackToDo"
    btnRetourToDo.Caption = "Retourner à faire"
End Sub
Sub MoveToInProgress()
    ' Déplace la tâche sélectionnée de "À faire" à "En cours"
    Dim selectedCell As Range
    Set selectedCell = Selection
    If selectedCell.Column = 2 And selectedCell.Value <> "" Then
        selectedCell.Offset(0, 1).Value = selectedCell.Value
        selectedCell.ClearContents
    End If
End Sub
Sub MoveToDone()
    ' Déplace la tâche sélectionnée de "En cours" à "Terminé"
    Dim selectedCell As Range
    Set selectedCell = Selection
    If selectedCell.Column = 3 And selectedCell.Value <> "" Then
        selectedCell.Offset(0, 1).Value = selectedCell.Value
        selectedCell.ClearContents
    End If
End Sub
Sub MoveBackToDo()
    ' Déplace la tâche sélectionnée de "Terminé" à "À faire"
    Dim selectedCell As Range
    Set selectedCell = Selection
    If selectedCell.Column = 4 And selectedCell.Value <> "" Then
        selectedCell.Offset(0, -3).Value = selectedCell.Value
        selectedCell.ClearContents
    End If
End Sub

Étape 3 : Explication du code
1. CreateKanbanBoard :

  • Cette sous-routine crée la feuille pour le tableau Kanban, définit les en-têtes (« Nom de la tâche », « À faire », « En cours », « Terminé ») et ajoute des tâches d’exemple dans la colonne « À faire ».
  • Elle met en forme les en-têtes et les colonnes pour une meilleure visibilité.

2. InsertKanbanButtons :

  • Cette sous-routine insère des boutons pour chaque tâche dans les colonnes « À faire », « En cours » et « Terminé » permettant de déplacer les tâches.
  • Chaque bouton est lié à une sous-routine spécifique (MoveToInProgress, MoveToDone, MoveBackToDo) pour déplacer les tâches selon leur progression.

3. MoveToInProgress, MoveToDone, et MoveBackToDo :

  • Ces sous-routines gèrent le déplacement des tâches lorsqu’un bouton est cliqué. Elles vérifient si la tâche est dans la colonne appropriée et la déplacent vers la suivante, tout en effaçant la colonne d’origine.

Étape 4 : Comment utiliser le tableau Kanban
1. Lorsque vous exécutez la macro CreateKanbanBoard, une nouvelle feuille sera créée avec votre tableau Kanban.
2. Ajoutez ou modifiez les tâches dans la colonne « À faire ».
3. Cliquez sur les boutons pour déplacer les tâches vers « En cours » ou « Terminé », ou revenez à « À faire » si nécessaire.
Étape 5 : Options de personnalisation

  • Couleurs et mise en forme : Vous pouvez personnaliser les couleurs et la mise en forme des cellules et des boutons selon vos préférences.
  • Colonnes supplémentaires : Vous pouvez ajouter d’autres colonnes comme « Bloqué » ou « Révision » pour représenter des étapes supplémentaires dans votre flux de travail.
  • Fonctionnalités avancées : Vous pouvez ajouter des fonctionnalités comme le filtrage des tâches, l’utilisation de cases à cocher pour la finalisation des tâches ou permettre aux utilisateurs d’ajouter des notes à chaque tâche.

Il s’agit d’un tableau Kanban simple, mais vous pouvez l’étendre pour intégrer des fonctionnalités plus avancées, comme des dates d’échéance, des labels de priorité ou des responsables de tâches.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x