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 :
Or, ils réalisent que leur fichier risque d'évoluer et que des colonnes pourront être ajoutées ou supprimées.
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é'"
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
Partager