j'ai un vrai soucis avec l'utilisation des fonctions dans mon code VBA : Dans le code du Userform "Menu_ajout_op" du fichier ci-joint, j'utilise la fonction "Lsem" qui permet de renvoyer le numéro de la ligne à laquelle figure la semaine rentrée par l'utilisateur. Cela fonctionne au sein du code mais lorsque je veux utiliser une seconde fois cette fonction, le retour de la fonction est le même que lors de la première utilisation, et ce malgré une valeur de la variable d'entrée différente. Je ne comprends vraiment pas pourquoi. Je ne sais pas si j'ai été suffisamment clair mais mon problème est compliqué à formuler sans voir le code. Merci d'avance à ceux qui essaieront de m'aider.
J'avais déjà essayé de passer la fonction en public mais cela n'a pas résolu le problème. La fonction fonctionne une fois mais pas lorsque je souhaite l'utiliser une seconde fois dans le même code : la variable reste la même que celle de la première utilisation et le résultat est attendu n'est donc pas le bon.
Cells(4, 19) = Lsem(21)
Je fais test ci-dessus à la fin du code et il me renvoie le résultat de ceci (qui est la première utilisation de la fonction) :
i = Lsem(TextBox3.Value)
Concernant, les .selectje ne savais pas, mais par quoi peut on les remplacer du coup ? Bien que ce ne soit pas le sujet ici.
Je viens de tester, j'ai bien des valeurs différentes Curieux !
Tu appelle Lrem depuis où ?
Pour les .Select, c'est le générateur de macro qui te ponds ça, en réalité tu n'as quasiment jamais besoin de 'sélectionner' une case, ce qui compte c'est ce qu'elle contient ou sa position, non ?