Créer une plage dynamique de gestion du temps, Excel VBA

Créer une plage dynamique de gestion du temps, Excel VBA

Voici une solution détaillée en VBA pour créer une plage dynamique de gestion du temps dans Excel.
Étape 1 : Préparer votre feuille Excel
Avant d’écrire le code VBA, préparez votre feuille de calcul avec les données relatives au temps. Supposons que :

  • La colonne A contient les noms des tâches.
  • La colonne B contient l’heure de début au format hh:mm AM/PM.
  • La colonne C contient l’heure de fin au format hh:mm AM/PM.
  • La colonne D contiendra la durée (calculée en heures).

Étape 2 : Écrire le code VBA
Ce code VBA définira dynamiquement une plage nommée pour vos données liées au temps et la mettra à jour automatiquement lorsque de nouvelles données seront ajoutées.
Code VBA :

Sub CreerPlageDynamiqueGestionTemps()
    Dim ws As Worksheet
    Dim derniereLigne As Long
    Dim plageTemps As Range
    Dim nomPlage As String
    ' Définir la feuille de calcul
    Set ws = ThisWorkbook.Sheets("Feuil1") ' Changez "Feuil1" par le nom de votre feuille
    ' Trouver la dernière ligne avec des données dans la colonne A (Noms des tâches)
    derniereLigne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    ' Définir la plage (Tâches + Données temporelles)
    Set plageTemps = ws.Range("A2:D" & derniereLigne) ' En supposant que les en-têtes soient en ligne 1
    ' Nommer la plage dynamiquement
    nomPlage = "PlageGestionTemps"
    ' Supprimer la plage nommée existante si elle existe
    On Error Resume Next
    ws.Names(nomPlage).Delete
    On Error GoTo 0
    ' Créer la nouvelle plage nommée
    ws.Names.Add Name:=nomPlage, RefersTo:=plageTemps
    ' Informer l'utilisateur
    MsgBox "Plage dynamique de gestion du temps créée : " & nomPlage, vbInformation, "Succès"
End Sub

Étape 3 : Exécuter le code
1. Ouvrez Excel et appuyez sur ALT + F11 pour ouvrir l’éditeur VBA.
2. Cliquez sur Insertion > Module.
3. Copiez et collez le code VBA ci-dessus dans le module.
4. Exécutez la macro en appuyant sur F5 ou en la sélectionnant dans le menu Macro.
Explication :
1. Le code sélectionne la feuille de calcul (Feuil1).
2. Il détermine la dernière ligne de la colonne A (pour inclure toutes les entrées de temps).
3. Il crée une plage dynamique (PlageGestionTemps) de la colonne A à D.
4. Si la plage nommée existe déjà, elle est supprimée et recréée.
5. Une boîte de message confirme la création de la plage dynamique.
Sortie :
Après avoir exécuté la macro, vous pouvez utiliser la plage nommée "PlageGestionTemps" dans des formules ou pour la validation des données. La plage se met à jour automatiquement lorsque de nouvelles données temporelles sont ajoutées.

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