Description du projet en une ligne
Bref descriptif de l'objectif du projet
Dans le cadre de mon projet de fin d'études de BTS FED, j'avais en charge de
- Concevoir l'éclairage intérieur/ extérieur du Pôle Enfance de Domloup (près de Rennes)
- Réaliser les plans du bâtiment via REVIT
- Gérer l'éclairage
- Réaliser des simulations via Dialux
- Réaliser un devis
Issus du CCTP, j'ai repris les éléments techniques qui concernait mon projet :
- Projets d’éclairage conforme aux normes NFE (NF EN 12464-1) l’ensemble des locaux du rez-de-chaussée bas intérieur et extérieur (préau),
- Gestion d’éclairage
- Prendre en compte l’apport d’éclairage naturel ainsi que la présence de personne.
- La partie distribution électrique du lot éclairage devra également être étudiée.
Description de la tâche et de son importance
une
famille de scénarios Kxxx cohérente
,
👉 puis
les macro‑tâches par pôle DSI
,
👉 pour
chaque phase projet
,
👉 et
pour chaque scénario Kxxx
.
Je te donne d’abord la
famille de noms Kxxx
, puis la
matrice complète des macro‑tâches
.
Voici la famille
recommandée
pour ton usage MS Project : claire, graduée, mémorisable.
Scénario
Nom
Description
1
Kmax
Projet complet interne (cadrage → conception → intégration → recette → MEP)
2
Kext
Conception externalisée (charge interne réduite)
3
Kbuild
Développement externalisé (intégration + recette internes)
4
Krec
Recette seule (livraison par un tiers)
5
Kpatch
Patch / correctif léger
6
Kmini
Charge minimale absolue (validation simple)
Ces noms sont courts, explicites, et parfaitement adaptés à des colonnes MS Project.
Tu m’as donné les pôles suivants :
Infrastructure & Réseaux
Base de données
Intégration & Mise en recette
Gestion des incidents
Je te fournis maintenant
la matrice complète
, phase par phase.
Analyse des impacts infra (serveurs, réseau, stockage)
Estimation des besoins (CPU, RAM, bande passante)
Vérification des contraintes de sécurité
Pré‑dimensionnement des environnements
Analyse des impacts sur les schémas
Vérification des volumes et performances
Identification des risques d’intégrité
Analyse des flux existants
Identification des interfaces impactées
Définition du périmètre d’intégration
Analyse des risques opérationnels
Préparation du plan de support projet
Conception des environnements (DEV, INT, REC, PROD)
Définition des règles de firewalling
Conception des architectures techniques
Conception des évolutions de schéma
Définition des index, partitions, contraintes
Modélisation des flux de données
Spécifications des interfaces
Définition des formats d’échange
Conception des scénarios d’intégration
Mise à jour des procédures d’exploitation
Définition des règles de supervision
Création des environnements
Configuration réseau / firewall
Installation des composants techniques
Création / modification des schémas
Chargement des données de référence
Tests de performance DB
Développement des interfaces
Paramétrage des connecteurs
Tests d’intégration bout‑en‑bout
Préparation du support N2
Mise en place des alertes
Stabilisation des environnements
Support aux anomalies techniques
Ajustements de configuration
Correction des anomalies DB
Optimisation des requêtes
Support aux tests fonctionnels
Exécution des tests d’intégration
Correction des anomalies
Qualification des flux
Suivi des tickets
Analyse des incidents récurrents
Support technique aux équipes métier
Analyse des logs
Correction des incidents infra
Support aux tests fonctionnels
Correction des anomalies SQL
Vérification des performances
Support aux tests métier
Correction des flux
Qualification finale
Suivi des incidents
Préparation du Go/No Go
Déploiement des composants
Ouverture des flux réseau
Vérification post‑MEP
Exécution des scripts SQL
Migration des données
Vérification de cohérence
Activation des interfaces
Tests post‑MEP
Stabilisation
Support J0/J1
Suivi des incidents
Passage en RUN
Je peux te produire :
une
matrice complète
(Kmax → Kmini × 6 phases × 4 pôles)
ou une
version chiffrée
(jours/homme par macro‑tâche)
ou une
version MS Project prête à importer
👉
Dis‑moi ce que tu veux :
La matrice complète ?
La version chiffrée ?
La version MS Project ?
Parfait — j’intègre
le pôle Cybersécurité
dans toute la structure précédente, en respectant la même logique :
macro‑tâches par phase
,
cohérence avec les autres pôles
,
applicabilité aux scénarios Kmax / Kext / Kbuild / Krec / Kpatch / Kmini
.
Voici la version
mise à jour et complète
.
Analyse des risques cyber liés au projet
Vérification des exigences SSI (ANSSI, internes, RGPD)
Identification des données sensibles manipulées
Définition des contraintes de sécurité (authentification, chiffrement, journalisation)
Pré‑évaluation des impacts sur les habilitations
Conception des contrôles de sécurité (IAM, MFA, RBAC)
Définition des exigences de chiffrement (au repos / en transit)
Conception des journaux de sécurité (SIEM, audit)
Analyse de conformité (RGPD, politique interne SSI)
Validation des architectures techniques sous l’angle sécurité
Configuration des contrôles de sécurité (pare‑feu applicatif, WAF, IAM)
Mise en place des journaux de sécurité
Tests de vulnérabilité (scans automatiques)
Vérification des certificats, clés, secrets
Participation aux tests d’intégration pour valider les flux sécurisés
Support aux anomalies de sécurité
Vérification de la conformité des environnements de recette
Tests de sécurité complémentaires (ex. tests d’intrusion internes)
Analyse des logs de sécurité
Validation des habilitations et rôles utilisateurs
Support aux tests métier sur les aspects sécurité
Vérification des comportements anormaux (logs, alertes)
Tests d’accès, permissions, rôles
Validation finale des exigences SSI
Préparation du dossier de sécurité pour le Go/No Go
Validation des configurations de sécurité en PROD
Activation des journaux et alertes SIEM
Vérification des certificats et secrets en PROD
Contrôle des habilitations finales
Suivi des incidents de sécurité J0/J1
Passage en RUN avec le pôle gestion des incidents
Tu as maintenant une matrice complète pour :
Infrastructure & Réseaux
Base de données
Intégration & Mise en recette
Gestion des incidents
Cyber
←
amille de cas de charge est représentative d’un portefeuille IT moderne
, et elle couvre l’immense majorité des situations rencontrées dans les DSI.
Ensuite, je te propose une
matrice d’aide à la décision
claire et opérationnelle.
Les 6 scénarios que tu proposes correspondent très bien aux typologies de projets observées dans les portefeuilles IT.
Les sources sur la gestion de portefeuille de projets (PPM) insistent sur la
diversité des charges
, la
priorisation
, et la
répartition des ressources
comme enjeux majeurs
.
Ton modèle répond précisément à ce besoin : il segmente les projets selon
l’effort interne
,
l’externalisation
, et
la complexité
, ce qui est cohérent avec les pratiques PPM.
Il couvre
toutes les tailles de projets
: du patch (Kpatch) au projet complet (Kmax).
Il distingue
les modes d’externalisation
: conception (Kext) vs développement (Kbuild).
Il inclut les cas fréquents de
recette seule
(Krec) dans les organisations multi‑prestataires.
Il prévoit les
micro‑charges
(Kmini), souvent oubliées mais très nombreuses dans un portefeuille.
Il est
simple, mémorisable, actionnable
, ce qui est essentiel pour un outil PPM efficace.
En résumé :
oui, c’est représentatif, équilibré et exploitable en production
.
Voici une matrice simple, basée sur 5 critères clés :
Complexité du besoin
Disponibilité interne
Expertise requise
Niveau d’externalisation souhaité
Importance du contrôle interne
Critère
Kmax
Kext
Kbuild
Krec
Kpatch
Kmini
Complexité du projet
Haute
Moyenne/haute
Moyenne
Faible
Très faible
Minime
Charge interne disponible
Forte
Faible
Moyenne
Très faible
Très faible
Quasi nulle
Expertise interne
Présente
Insuffisante en conception
Insuffisante en développement
Non nécessaire
Présente
Présente
Externalisation souhaitée
Aucune
Conception
Développement
Livrable complet
Aucune
Aucune
Contrôle interne requis
Maximum
Moyen
Fort sur la conception
Faible
Maximum
Maximum
Exemples typiques
Projet SI complet
UX/Conception métier externalisée
Dev mobile/API externalisé
Recette d’un module livré par un tiers
Correctif mineur
Validation simple
Le projet couvre
tout le cycle de vie
.
Tu veux
tout garder en interne
.
Le périmètre est
stratégique
.
Tu manques d’expertise en
conception
.
Tu veux accélérer la phase amont.
Le développement reste interne.
Tu maîtrises la
conception
.
Tu veux externaliser uniquement le
build
.
Tu as besoin d’absorber un pic de charge.
Un tiers livre un composant.
Tu dois faire
uniquement la recette
.
Le périmètre est limité.
C’est un
correctif léger
, isolé.
Le risque est faible.
Le délai est court.
Il s’agit d’une
validation simple
.
Charge < 1 jour.
Pas d’impact transverse.
.
-------------------------
------------------------------
Kmini — Micro‑charges récurrentes
Interventions très courtes (quelques minutes à quelques heures) : correctifs mineurs, ajustements, paramétrages, petites demandes.
➜ Souvent nombreuses, consomment du temps, rarement budgétées.
Kpatch — Patch correctif ou évolutif léger
Une petite évolution ou correction nécessitant un peu d’analyse, un dev simple et une recette rapide.
➜ Charge faible mais structurée, typique des cycles de maintenance.
Krec — Recette seule
Cas où un prestataire livre, et l’équipe interne ou un autre prestataire réalise uniquement la validation.
➜ Très fréquent en organisation multi‑fournisseurs.
Kext — Conception externalisée
Le prestataire réalise l’analyse, la conception fonctionnelle/technique, parfois le cadrage.
➜ Utile quand l’expertise métier ou technique est externalisée.
Kbuild — Développement externalisé
Le prestataire réalise le développement complet, sur base d’une conception fournie.
➜ Cas standard dans les modèles Build/Run ou Build/Operate.
Kmax — Projet complet
Projet structuré incluant cadrage, conception, build, tests, déploiement, conduite du changement.
➜ Le “gros projet” classique, avec gouvernance et planning.
' Fusion TdB Parcourir le TdB (central PMO) et mettre à jour si la clé existe
For iTdB = 2 To lastRow_PMO
cléUnique = CStr(xlWorksheetTdB_PMO.Cells(iTdB, 3).Value) ' Colonne C
If dict.Exists(cléUnique) Then
commentaire_PMO = Trim(CStr(xlWorksheetTdB_PMO.Cells(iTdB, 3).Value))
commentaire_Pole = Trim(CStr(xlWorksheetTdB_Pole.Cells(dict(cléUnique), 3).Value))
' --- Conditions pour éviter les doublons ---
If commentaire_Pole <> "" Then
' 1. Si identique → on ignore
If StrComp(commentaire_PMO, commentaire_Pole, vbTextCompare) <> 0 Then
' 2. Si déjà présent dans PMO → on ignore
If InStr(1, commentaire_PMO, commentaire_Pole, vbTextCompare) = 0 Then
' 3. Ajouter uniquement ce qui est différent
If commentaire_PMO = "" Then
xlWorksheetTdB_PMO.Cells(iTdB, 3).Value = commentaire_Pole
Else
xlWorksheetTdB_PMO.Cells(iTdB, 3).Value = commentaire_PMO & vbCrLf & commentaire_Pole
End If
End If
End If
End If
' Marquer comme traité
dict.Remove cléUnique
End If
Next iTdB
--------------------------------
montrer clairement à ton sous‑traitant SI :
l’absence de portefeuille projets,
l’absence de visibilité transverse,
l’absence de gouvernance,
les impacts sur le pilotage,
et la nécessité d’une interface unifiée (Excel / Tableau / UniPPM).
Chaque point clé commence par un
Guided Link
, comme demandé.
Aucun portefeuille projets consolidé
Les projets sont suivis individuellement, dans des fichiers locaux.
Impossible d’avoir une vision globale du SI.
Pas de visibilité transverse
Chaque équipe suit ses actions sans coordination globale.
Pas de vue d’ensemble sur les dépendances entre projets.
Priorisation binaire “Urgent / Non urgent”
Aucun critère métier, SI, charge ou risque.
Pilotage très court‑termiste, réactif, subi.
Données dispersées
EasyVista → demandes, changements, incidents.
MS Project → plannings individuels.
Excel → suivis locaux non synchronisés.
Manque d’anticipation
: pas de projection des charges, pas de vision long terme.
Décisions tardives
: arbitrages faits trop tard, souvent en mode crise.
Surcharge des équipes
: mauvaise répartition des charges.
Pas de définition d’équipe projet en début de projet
Rôles flous, responsabilités implicites.
Pas de RACI formalisé
Qui décide ? Qui valide ? Qui exécute ?
Ambiguïtés permanentes dans les responsabilités.
Peu ou pas de rituels projet
Pas de comité de pilotage régulier.
Pas de points d’avancement structurés.
Pas de suivi des risques.
Pas de jalons formalisés
Recette, MEP, intégration suivies de manière informelle.
Pas de suivi des charges
Aucune visibilité sur la capacité réelle des équipes DSI.
Pas de gestion des dépendances
Les projets se bloquent mutuellement sans anticipation.
Retards récurrents
Conflits de priorités
Difficulté à engager les équipes
Créer un portefeuille projets SI consolidé
Vue unique : priorités, jalons, charges, risques.
Donner une visibilité transverse
Dépendances, impacts, arbitrages.
Structurer la gouvernance projet
RACI, rituels, jalons, reporting.
Anticiper les charges et les risques
Capacité DSI vs demande réelle.
ITSM EasyVista
: demandes, changements, incidents liés aux projets.
MS Project
: jalons, plannings, dépendances.
Excel/Tableau
: consolidation, visualisation, priorisation.
Pilotage prévisible et non réactif
Meilleure allocation des ressources
Réduction des urgences subies
Vision stratégique du SI
---------------------------------------------------
Complexité : doublon entre 0 pt et 1 pt
Tu as raison, il y avait une ambiguïté. Je vais corriger la matrice pour clarifier :
• 1 pt = faible impact / fort effort
• 0 pt = faible impact / faible effort
Pertinence d’intégrer Complexité et Risques dans la priorité
L’objectif n’est pas de dire qu’un sujet complexe est “plus important”, mais de combiner l’impact métier avec la faisabilité. À impact égal, traiter d’abord les sujets moins complexes ou moins risqués permet d’optimiser l’écoulement du portefeuille et d’éviter les blocages. C’est la logique classique Impact / Effort utilisée en pilotage DSI.
Effet corollaire : une DDC complexe peut passer avant une DDC simple
Oui, dans certains cas : lorsqu’un sujet complexe présente un risque ou une criticité qui justifie un traitement anticipé. Cela permet d’éviter qu’un point bloquant ne pénalise d’autres demandes. Mais ce cas reste marginal et dépend du score global.
----------------------------
dans le détail
C’est ici que tu peux apporter une réponse solide et argumentée.
Dans une DSI, deux demandes peuvent avoir
le même impact métier
, mais :
l’une est simple, rapide, peu risquée,
l’autre est complexe, longue, risquée.
Si tu ne tiens compte que de l’impact, tu risques de :
bloquer des ressources sur un sujet lourd,
retarder des gains rapides,
créer un portefeuille déséquilibré.
Tu ne dis pas : “un sujet complexe est plus important”.
Tu dis : “à impact égal, il est rationnel de traiter d’abord ce qui débloque le plus de valeur pour le moins d’effort”.
C’est exactement la logique
Impact / Effort
utilisée dans :
les matrices de priorisation Lean,
les backlog Agile,
les arbitrages PMO.
Un sujet risqué doit parfois être traité
plus tôt
, non pas parce qu’il est important, mais parce qu’il peut :
bloquer d’autres projets,
nécessiter des arbitrages,
demander des ressources rares.
Donc oui :
un sujet complexe ou risqué peut être prioritaire
, non pas pour sa valeur, mais pour sa
criticité opérationnelle
.
Tu peux proposer une version plus lisible :
3 pts
— Fort impact / Effort faible ou modéré
2 pts
— Fort impact / Effort fort
1 pt
— Faible impact / Effort fort
0 pt
— Faible impact / Effort faible
Cela supprime l’ambiguïté relevée par Christophe.
Pour éviter la confusion, tu peux présenter la logique ainsi :
Impact opérationnel
= importance métier
Complexité + Risques
= faisabilité / pilotage
Et expliquer que la
priorité finale
= combinaison des deux.
Tu peux intégrer une phrase comme :
La priorité combine l’impact métier et la faisabilité. À impact égal, les demandes moins complexes ou moins risquées sont favorisées pour optimiser l’écoulement du portefeuille.
Pour rendre la logique évidente :
Demande
Impact
Complexité
Risques
Score
Priorité
A – Gros projet structurant
3
1
1
5
P2
B – Petite évolution très utile
3
3
3
9
P2 (haut)
C – Correction critique
3
3
2
8
P2 (haut)
→ On voit que
l’impact ne suffit pas
: la faisabilité influence la priorisation.
------------------------------------
GESTION DES RISQUES
Technique – Applicatif
Technique – Infrastructure
Technique – Réseau
Technique – Cyber / Sécurité
Organisationnel
Qualité
Coût
Délai
Ressource / Homme clé
Fournisseur / Prestataire
Réglementaire / Conformité
Tu
sépares clairement
les risques techniques selon leur nature.
Tu couvres les risques modernes (cyber, conformité).
Tu facilites l’analyse des causes et l’attribution des actions (infra ≠ réseau ≠ cyber).
Tu améliores la lisibilité pour le COPIL et les équipes MOE.
(Version enrichie ci‑dessus)
1 Rare
2 Improbable
3 Possible
4 Probable
5 Certaine
👉 Cohérent, rien à changer.
1 Nul
2 Faible
3 Moyen
4 Élevé
5 Très élevé
👉 Parfait.
Optionnel : ajouter une grille d’impact (retard, coût, qualité).
Mineur
Moyen
Majeur
Capital
👉 Standard et efficace.
Optionnel : automatiser via P × I.
1 Facile
2 Moyenne
3 Difficile
👉 Tu peux renommer en “Complexité” si tu veux être plus explicite.
1 Non lancée
2 En cours
3 En attente
4 Terminée
5 Bloquée
(ajout recommandé)
6 Abandonnée
(optionnel)
👉 “Bloquée” est très utile pour le COPIL.
1 Nouveau
2 Stable
3 Amélioration
4 Dégradation
5 Résolu
(optionnel)
👉 “Résolu” permet de marquer la fin du risque.
Oui
Non
À décider
(optionnel)
👉 Utile pour les zones grises.
La gestion des risques permet d’anticiper les menaces, de sécuriser les délais et de garantir la réussite du projet.
Un risque non géré devient un incident. Ce tableau structure l’identification, l’évaluation et le traitement des risques pour assurer un pilotage maîtrisé.
Ce tableau offre une vision claire des risques critiques, des actions engagées et des décisions à prendre pour protéger le projet.
Identifier tôt, traiter vite, suivre régulièrement : la gestion des risques est un outil collectif pour éviter les dérives.
----------------------------------------
VBA maj affichage des livrables entre -4 et +12S
✔ un
code VBA propre et robuste
✔ une
gestion des erreurs
✔ un
rafraîchissement automatique dès qu’une date change
✔ la
mise à jour automatique de la ligne 1
(S-4 → S+12)
✔ la
coloration dynamique
(mauve, bleu, vert, jaune clair)
✔ une structure claire, commentée et maintenable
Tu peux coller ce code
tel quel
dans ton fichier Excel.
À placer dans
Module1
Option Explicit
Sub MAJ_TdB_Livrables()
On Error GoTo GestionErreur
Dim ws As Worksheet
Dim lastRow As Long, lastCol As Long
Dim i As Long, col As Long
Dim dateRef As Date, dateReelle As Date
Dim semaineRef As Long, semaineReelle As Long
Dim semaineCourante As Long
Dim dateDebut As Date
' --- Paramétrage ---
Set ws = ThisWorkbook.Sheets("TdB") ' <-- adapte le nom de ta feuille
lastCol = 8 + 16 ' Colonnes S-4 à S+12
' -------------------------------
' 1. Mise à jour de la ligne 1 : semaines S-4 à S+12
' -------------------------------
semaineCourante = WorksheetFunction.WeekNum(Date, vbMonday)
dateDebut = Date - 28 ' 4 semaines en arrière
For col = 8 To lastCol
ws.Cells(1, col).Value = "S" & WorksheetFunction.WeekNum(dateDebut, vbMonday)
ws.Cells(1, col).Interior.ColorIndex = xlNone
dateDebut = dateDebut + 7
Next col
' Coloration de la semaine courante
For col = 8 To lastCol
If ws.Cells(1, col).Value = "S" & semaineCourante Then
ws.Cells(1, col).Interior.Color = RGB(255, 255, 150) ' jaune clair
End If
Next col
' -------------------------------
' 2. Coloration des lignes selon dates
' -------------------------------
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
' Lecture sécurisée des dates
dateRef = 0: dateReelle = 0
If IsDate(ws.Cells(i, 6).Value) Then dateRef = ws.Cells(i, 6).Value
If IsDate(ws.Cells(i, 7).Value) Then dateReelle = ws.Cells(i, 7).Value
' Nettoyage des couleurs
For col = 8 To lastCol
ws.Cells(i, col).Interior.ColorIndex = xlNone
Next col
' Si pas de date → ligne ignorée
If dateRef = 0 And dateReelle = 0 Then GoTo LigneSuivante
' Conversion en semaines
If dateRef > 0 Then semaineRef = WorksheetFunction.WeekNum(dateRef, vbMonday)
If dateReelle > 0 Then semaineReelle = WorksheetFunction.WeekNum(dateReelle, vbMonday)
' --- Mauve = semaine de référence ---
If dateRef > 0 Then
For col = 8 To lastCol
If ws.Cells(1, col).Value = "S" & semaineRef Then
ws.Cells(i, col).Interior.Color = RGB(200, 150, 255)
End If
Next col
End If
' --- Bleu = semaine réelle ---
If dateReelle > 0 Then
For col = 8 To lastCol
If ws.Cells(1, col).Value = "S" & semaineReelle Then
ws.Cells(i, col).Interior.Color = RGB(150, 200, 255)
End If
Next col
End If
' --- Vert = dates identiques ---
If dateRef = dateReelle And dateRef > 0 Then
For col = 8 To lastCol
If ws.Cells(1, col).Value = "S" & semaineRef Then
ws.Cells(i, col).Interior.Color = RGB(150, 255, 150)
End If
Next col
End If
LigneSuivante:
Next i
Exit Sub
GestionErreur:
MsgBox "Erreur détectée : " & Err.Description, vbCritical, "Erreur VBA"
End Sub
À placer dans le module de la feuille :
Feuille TdB → clic droit → Afficher le code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin
' Si modification dans les colonnes 6 ou 7 (dates)
If Not Intersect(Target, Me.Range("F:F,G:G")) Is Nothing Then
Application.EnableEvents = False
Call MAJ_TdB_Livrables
End If
Fin:
Application.EnableEvents = True
End Sub
Dès que l’utilisateur modifie une date en colonne 6 ou 7
→ le tableau se
recalcule automatiquement
→ les couleurs se mettent à jour
→ la ligne 1 reste cohérente
→ aucun risque de boucle infinie grâce à
EnableEvents
Tu obtiens :
un tableau
auto‑actualisé
une ligne 1 toujours à jour (S-4 → S+12)
une mise en évidence automatique de la semaine courante
une coloration intelligente des livrables
une gestion des erreurs propre
un rafraîchissement instantané dès qu’une date change
----------------------------------------------------
--------------------------------------------
import gz csv xlsx x5
module unique
, complet, clair, structuré, contenant
tout
:
le tableau des 5 fichiers attendus
la boucle
le traitement générique
la décompression
la conversion CSV → XLSX
le renommage automatique
et la fonction utilitaire
Tu n’auras
qu’un seul module
dans ton projet VBA, facile à lire et à maintenir.
(Tu peux le nommer :
Module_Import_ITSM_Compressed
)
Option Explicit
' ============================================================
' MODULE UNIQUE : Importation ITSM de 5 fichiers compressés
' Décompression → Renommage → CSV → XLSX → Ouverture
' ============================================================
Sub Import_ITSM_All()
Dim ExpectedNames As Variant
Dim ExpectedName As Variant
' Tableau des 5 fichiers attendus
ExpectedNames = Array( _
"Export_DS_non_clotures", _
"Export_DDC", _
"Export_INC", _
"Export_PROBLEMS", _
"Export_CHG")
' Boucle sur les 5 fichiers
For Each ExpectedName In ExpectedNames
Call ImportOneCompressedFile(ExpectedName)
Next ExpectedName
MsgBox "Import ITSM terminé pour les 5 fichiers.", vbInformation
End Sub
' ============================================================
' TRAITEMENT D’UN FICHIER COMPRESSÉ
' ============================================================
Sub ImportOneCompressedFile(ExpectedName As String)
Dim FileCompressed As Variant
Dim ExtractFolder As String
Dim ExtractedFile As String
Dim f As String
Dim CSVFile As String, XLSXFile As String
MsgBox "Sélectionner le fichier compressé correspondant à : " & ExpectedName, vbInformation
' 1. Sélection du fichier compressé
FileCompressed = Application.GetOpenFilename( _
"Fichiers compressés (*.zip;*.gz;*.7z;*.tar;*.tar.gz;*.xz;*.Z;*.JZ), *.zip;*.gz;*.7z;*.tar;*.tar.gz;*.xz;*.Z;*.JZ")
If FileCompressed = False Then Exit Sub
' 2. Dossier temporaire
ExtractFolder = Environ("TEMP") & "\Extract_ITSM\"
On Error Resume Next: MkDir ExtractFolder: On Error GoTo 0
' 3. Décompression via PowerShell
Shell "powershell -command ""Expand-Archive -LiteralPath '" & FileCompressed & _
"' -DestinationPath '" & ExtractFolder & "' -Force""", vbHide
Application.Wait Now + TimeValue("0:00:02")
' 4. Récupération du fichier extrait
f = Dir(ExtractFolder & "*.*")
If f = "" Then
MsgBox "Aucun fichier extrait pour " & ExpectedName, vbCritical
Exit Sub
End If
ExtractedFile = ExtractFolder & f
' 5. Renommage selon le nom attendu
ExtractedFile = RenameIfNeeded(ExtractedFile, ExpectedName)
' 6. Conversion en CSV
Workbooks.Open ExtractedFile
ActiveWorkbook.SaveAs Replace(ExtractedFile, ".txt", ".csv"), xlCSV
ActiveWorkbook.Close False
CSVFile = Replace(ExtractedFile, ".txt", ".csv")
' 7. Conversion CSV → XLSX
Workbooks.Open CSVFile
ActiveWorkbook.SaveAs Replace(CSVFile, ".csv", ".xlsx"), xlOpenXMLWorkbook
ActiveWorkbook.Close False
XLSXFile = Replace(CSVFile, ".csv", ".xlsx")
' 8. Appel de ton code existant (inchangé)
Set xlWorkbookDemandesdeservice = Workbooks.Open(XLSXFile)
End Sub
' ============================================================
' FONCTION DE RENOMMAGE AUTOMATIQUE
' ============================================================
Function RenameIfNeeded(ByVal FullPath As String, ByVal ExpectedName As String) As String
Dim Folder As String, Ext As String, NewPath As String
Folder = Left(FullPath, InStrRev(FullPath, "\"))
Ext = Mid(FullPath, InStrRev(FullPath, "."))
NewPath = Folder & ExpectedName & Ext
If LCase(Dir(FullPath)) <> LCase(ExpectedName & Ext) Then
Name FullPath As NewPath
End If
RenameIfNeeded = NewPath
End Function
Un seul endroit
où tout est centralisé
Aucune duplication
Ajout d’un fichier = 1 ligne dans le tableau
Lisibilité maximale
Maintenance ultra simple
Architecture professionnelle
-------------------------------------------------------
-----------------------------------------------------
defition priorités
Score
Niveau
Définition
3 points
Projet stratégique
Contribue directement à un axe stratégique de l’entreprise
2 points
Projet important pour l’activité
Aligné avec une priorité métier/DSI, impact significatif
1 point
Projet utile mais local
Impact limité, amélioration utile mais non prioritaire
0 point
Projet non aligné
Pas de contribution aux priorités, demande opportuniste
Projet qui améliore clairement un processus important ou touche un périmètre large (plusieurs équipes, un service entier, une activité clé).
C’est
important
, mais pas stratégique.
Projet qui apporte une amélioration utile, mais sur un périmètre restreint (une équipe, un usage ponctuel, un confort local).
C’est
utile
, mais pas prioritaire.
Projet qui n’apporte pas de valeur métier identifiable ou qui ne répond à aucune priorité.
-------------------------------------------------------------
---------------------------------------------------------
Description de la tâche et de son importance
Contactez-nous à l’adresse [adresse e-mail] pour en savoir plus