Macro - Vérifier conformité des données

Bobchris

XLDnaute Nouveau
Bonjour à tous,
je souhaite créer une macro permettant de vérifier les données contenues dans un fichier, renseigné au préalable par un utilisateur.
Le contrôle est double :

1. Contrôle de conformité : Vérifier que les données contenues dans une plage de cellule (ex feuille 1, cellules A1 à A5) appartiennent à une plage de données de références contenues dans une autre feuille (ex feuille 2, cellules B1 à B52). J'utilise une feuille à part pour les données de référence afin de pouvoir les actualiser sans modifier le code.
Si la valeur n'appartient pas à la liste autorisée, il faudra que la cellule de la feuille 1 en erreur se colorie d'une couleur, sinon pas de coloriage.

2. Contrôle de cohérence : Vérifier la cohérence des données entre elles. Ex : Si la cellule en A1 = qq chose alors la cellule en B1 = ne peut être différente de certaines valeurs.
Ex : SI [Cellule en A1 = Poids alors cellule en B1 = Kg ou g] OU SI [Cellule en A1 = Pression alors cellule en B1 = Bar ou PSI]. Dans le cas ou la valeur de la cellule B n'appartient pas au champ des réponses possibles, alors la cellule est détectée et coloriée.
Ce contrôle devant lui aussi s'effectuer de A1 à A5 par exemple.

J'ai évidemment commencé à bosser sur ces macros, mais vu mon niveau je m'arrache les cheveux. :mad:
J'ai tenté d'enregistrer la macro puis de modifier le code mais j'ai fait chou blanc.
J'ai également cherché sur le forum, j'ai trouvé quelques posts sur le point 1 mais je ne parviens à rien dans mon fichier.

Le but ultime de cette macro est d'intégrer des informations fournies par des tiers, sans introduire d'erreurs.

J'espère que vous trouverez le temps de jeter un œil à ma question, merci d'avance pour le temps que vous y consacrerez !

@++++
 

Bobchris

XLDnaute Nouveau
Re : Macro - Vérifier conformité des données

Re-bonjour à tous,
l'opération bricolage macro se poursuit lol

Voilà où j'en suis :


Dim i As Long
Dim gouv As Range
For i = 1 To 30
Set gouv = ActiveSheet.Cells(i, 1)
If (gouv = "AIR" Or gouv = "TERRE") Then
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next i
End Sub



Pour l'instant ça ne fonctionne pas, mais je ne désespère pas.
En fait la macro ne semble marcher que si auparavant je sélectionne une plage de données.(ce qui me fait dire que ma boucle avec for i ne sert à rien);
Je veux juste que pour une plage de cellule donnée (ex colonne 1, lignes 1 à 30), la macro vérifie que ce qui est écrit correspond à une liste. Là, la liste est TERRE ou AIR. Dans l'idéal, la liste de valeurs serait contenue sur une feuille à part. Mais bon c'est un début.

Merci d'avance de votre aide, car là j'ai atteint ma limite en vba :(

A+
 

Staple1600

XLDnaute Barbatruc
Re : Macro - Vérifier conformité des données

Bonsoir

C'est l'été, les vacances
Or donc les réponses sont moins nombreuses ;)

Tu as essayé ainsi
Code:
Dim i As Long
Dim gouv As Range
For i = 1 To 30
Set gouv = ActiveSheet.Cells(i, 1)
    If (gouv = "AIR" Or gouv = "TERRE") Then
    With gouv.Interior
        .ColorIndex = 6
        .Pattern = xlSolid
    End With
    End If
Next i
End Sub

PS: Tu n'as pas répondu à ma question du 25/07/11...
 

Bobchris

XLDnaute Nouveau
Re : Macro - Vérifier conformité des données

Salut Staple;

C good j'ai réusi.
Alors voici ce que j'ai fait :
Mes donné un nom à mes données de ref.
Puis j'ai utilisé une formule dans la mise en forme conditionnelle.
C'est un peu bourrin mais ça marche :)

Bon ton idée du 25 malheureusement je ne peux l'appliquer, toujours à cause de notre organisation spéciale... au boulot

Par contre merci pour le code, je vais le tenter. Ca me permettra de progresser.
J'ai un break de 15 jours; je le tenterai à mon retour.
Merci de ta patience

a++
 

Discussions similaires

Statistiques des forums

Discussions
312 777
Messages
2 092 031
Membres
105 157
dernier inscrit
looping-07