Verification d'une saisie d'après un barème

pilou76

XLDnaute Occasionnel
Bonjour à tous,
Dans le fichier joint je souhaiterai, en VBA, vérifier que le montant saisi dans l'onglet "données" est correct par rapport au barème qui indique, en fonction du grade et des quantités, le montant de la prime.
Merci d'avance
 

Pièces jointes

  • fic.xlsm
    12 KB · Affichages: 36
  • fic.xlsm
    12 KB · Affichages: 39

Modeste

XLDnaute Barbatruc
Re : Verification d'une saisie d'après un barème

Bonjour pilou76,

Quelque chose m'échappe sans doute: pourquoi saisir une valeur et passer par VBA pour vérifier sa pertinence ... quand une formule permettrait automatiquement d'inscrire la bonne valeur??

Tu as déjà testé, en L2C4:
Code:
=INDEX(baremes!L2C2:L3C6;EQUIV(LC2;baremes!L2C1:L3C1;0);EQUIV(LC3;baremes!L1C2:L1C6))
 

pilou76

XLDnaute Occasionnel
Re : Verification d'une saisie d'après un barème

Merci Modeste pour ta réponse.
Le contrôle qui doit être fait s'effectue bien après la saisie, qui est effectuée sur un logiciel à base d'Access et je n'ai pas la main pour établir des contrôles a ce moment.
Autrement dit, je suis obligé de convertir en Excel et de vérifier à postériori.
Je ne sais si je suis clair ?
 

Modeste

XLDnaute Barbatruc
Re : Verification d'une saisie d'après un barème

Re,

Tes explications sont claires, pas de problème :) ... Mais je ne vois pas ce qui t'empêche d'écraser les valeurs de toute la colonne, à l'aide de la formule si le résultat de celle-ci est correct (tu peux aussi utiliser la même formule dans la colonne voisine, pour comparer ou dans une MFC, si tu veux colorer les cellules à "vérifier", pour ne pas être trop "expéditif" dans un premier temps)

Précision au passage (mais tu en feras ce que bon te semble) avec la formule proposée, la plage baremes!L1C2:L1C6 ne doit contenir que 1, 21, 51, etc
 

pilou76

XLDnaute Occasionnel
Re : Verification d'une saisie d'après un barème

Merci pour ta réponse
les corrections seront à faire dans l'outil de saisie initial (avec run time Access).
Excel va me permettre de m'indiquer les erreurs et je pourrais ainsi donner la liste des corrections à apporter à celui qui a fait la saisie.
Ca peut paraitre compliqué.... Les contrôles auraient dus être faits à la saisie par l'application Access, mais ce n'est pas le cas !
Merci quand même.
 

Modeste

XLDnaute Barbatruc
Re : Verification d'une saisie d'après un barème

Ca peut paraitre compliqué....
C'est toi qui l'a dit :)

Les contrôles auraient dus être faits à la saisie par l'application Access, mais ce n'est pas le cas !
Je crois que j'aurais tendance à être assez d'accord!

Teste ces quelques lignes, à placer dans la fenêtre de code de la feuille "Données". Les résultats seront listés dans une nouvelle feuille qui s'ajoutera au classeur:
VB:
Sub verif()
derLigne = Cells(Rows.Count, 1).End(xlUp).Row
tablo = Range("B1:D" & derLigne)
Dim tablErr()
For lig = 2 To derLigne
    col = Application.Match(tablo(lig, 2), Sheets("baremes").[B1:F1])
    If Sheets("baremes").Range("bar" & Left(tablo(lig, 1), 1))(col) <> tablo(lig, 3) Then
        ReDim Preserve tablErr(0, x)
        tablErr(0, x) = "Ligne " & lig & ": " & tablo(lig, 3) & " au lieu de: " & Sheets("baremes").Range("bar" & Left(tablo(lig, 1), 1))(col)
        x = x + 1
    End If
Next lig
Sheets.Add
ActiveSheet.[A1].Resize(x, 1) = Application.Transpose(tablErr)
End Sub
 

pilou76

XLDnaute Occasionnel
Re : Verification d'une saisie d'après un barème

Re-bonjour Modeste
J'ai le message d'erreur 2042 sur la ligne
col = Application.Match(tablo(lig, 2), Sheets("baremes").[B1:F1])
En mode pas à pas, il passe cette ligne mais au survol sur "col" j'ai cette info, erreur 2042
As tu une idée ?
 

tototiti2008

XLDnaute Barbatruc
Re : Verification d'une saisie d'après un barème

Re,

Il manquait aussi des noms (baro et barc en feuille baremes)

mais comment différencier les primes lorsque la production est comprise entre 1 et 20 , 21 et 50, 51, 100 par exemple

la fonction MATCH du code (EQUIV en excel) va rechercher la valeur existante inférieure
ci-joint ton fichier modifié
 

Pièces jointes

  • fic (3).xlsm
    19.1 KB · Affichages: 42

Discussions similaires

Réponses
12
Affichages
247

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote