Bonjour à toutes et à tous,
nouvellement employé au sein d'une association en tant qu'administrateur de bases de données, mon premier axe de travail concerne l'harmonisation des méthodes de travail de mes collègues.
Dans ce cadre, et afin de leur rendre mes "exigences" plus faciles à digérer, je planche sur la création d'une nouvelle fonction à intégrer dans leurs travaux pour être sûr du bon remplissage d'un champs (pour moi) et leur éviter une charge de travail supplémentaire.
Novice en matière de programmation VBA, j'ai suivi plusieurs tutoriels trouvés sur ce site et d'autres afin de mettre au point ma fonction et de m'assurer de pouvoir la partager (passage par le .xla, ...).
Venons en à mon problème :
Ma fonction doit récupérer pour chaque entrée trois valeurs de champs grâce au code "ActiveSheet.UsedRange.Cells(x, x)".
Ensuite, ces trois valeurs sont comparées à des "seuils" propres à chacune à l'aide d'un code de comparaison basique "If / Then / Elseif / ...".
Quand le bon critère est rempli, je demande à la fonction d'attribuer un code à la cellule active, de A à F suivant le critère rempli avec le code "ActiveCell.Value = "x" ".
Lors de l'utilisation de la formule sur un classeur "test", aucun message d'erreur ne m'est renvoyé mais la cellule se remplit invariablement d'un "0". Je n'ai donc pas fait d'erreur en codant, mais ma formule ne fonctionne pas.
Pour moi, le problème peut venir de deux points :
- la récupération des valeurs ne fonctionne pas en raison d'un mauvais choix de code
- l'écriture du code attribué pose problème, mais là je ne vois pas pourquoi.
Une troisième possibilité serait que l'erreur soit dans mes comparaisons, mais je n'ai utilisé que du "=" ou du ">=", donc je ne pense pas que le problème vienne de là.
Voilà, je tiens à vous remercier d'avance de vous intéresser à mon petit problème et vous souhaite une bonne journée à tous.
Simon
Partager