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.