Bonjour,

Mon problème du jour est le suivant :

Mon client m'a demandé d'écrire une macro de contrôle automatisé de règles de saisie dans un fichier Excel, ce que j'ai fait.

Sauf qu'aujourd'hui, mes tests sont réalisés sur les colonnes comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
  For i = 3 To Nbenreg
 
    ''''Récupération de valeurs de colonnes
 
            Code_K = Sheets("Fichier de travail").Range("A" & i).Value
            Nom = Sheets("Fichier de travail").Range("G" & i).Value
            Code_Chantier = Sheets("Fichier de travail").Range("K" & i).Value
            Date_Cadrage = Sheets("Fichier de travail").Range("AM" & i).Value
            Date_Engagement = Sheets("Fichier de travail").Range("AN" & i).Value
            Date_Livraison = Sheets("Fichier de travail").Range("AO" & i).Value
            Date_Deploiement = Sheets("Fichier de travail").Range("AS" & i).Value
            Statut = Sheets("Fichier de travail").Range("AY" & i).Value
            Benefices = Sheets("Fichier de travail").Range("Q" & i).Value
            Type_Ligne = Sheets("Fichier de travail").Range("B" & i).Value
            Impact = Sheets("Fichier de travail").Range("AU" & i).Value
            Descriptif_Projet = Sheets("Fichier de travail").Range("N" & i).Value
 
        ''''Pour n'effectuer les contrôles que sur les lignes dont la "Validation" vaut "OK"
        If Sheets("Fichier de travail").Range("C" & i) = "OK" Then
 
        ''''Contrôle du statut en fonction de la date_arretee
 
            ''''Si la date_deploiement n'est pas vide,
            ''''et qu'elle est antérieure à la Date_Arretee
            ''''alors le statut doit être "déployé"
            If Date_Deploiement <> "" And Date_Deploiement <= Date_Arretee And Statut <> "déployé" Then
 
                DernLignVide = Sheets("CR").Range("A1").End(xlDown).Row + 1
                Ligne_Erreur Code_K, DernLignVide, "Le statut doit valoir 'déployé'"
Or, ils réalisent que leur fichier risque d'évoluer et que des colonnes pourront être ajoutées ou supprimées.

Donc, ils souhaitent que la macro ne se base plus sur les noms de colonnes (AB / X / AF etc...) mais sur des libellés (par exemple, je veux contrôler le contenu de la colonne ayant pour valeur écrite dans sa première ligne "Date_cadrage").

Cela vous semble-t-il réalisable ? Si oui, comment ?

Merci d'avance pour vos retours.

Cordialement,

CuisineAuBeurre