Création d'une fonction

  • Initiateur de la discussion Initiateur de la discussion BobaFett23
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

BobaFett23

Guest
Bonsoir le forum,

Ceci est le premier message que je poste, jusqu'à maintenant j'ai toujours réussi à trouver des réponses à mes questions en effectuant des recherches dans les précédents posts.

Mais là je ne trouve rien.

Alors voilà, j'essaye de créer une fonction contenant plusieurs variables, mais à chaque fois que je veux l'utiliser j'ai une erreur de compilation ("Attendu : =" ou "Erreur de syntaxe").

Voici ma fonction :

Function AjoutAutomatique(Feuille As String, Choix As String)

ligne = 2
Existe = False
Do Until Worksheets(Feuille).Cells(ligne, 1).Value = Empty
If LCase(Worksheets(Feuille).Cells(ligne, 1).Value) = LCase(Choix) Then
Existe = True
Exit Do
ElseIf LCase(Worksheets(Feuille).Cells(ligne, 1).Value) > LCase(Choix) Then
Worksheets(Feuille).Cells(ligne, 1).EntireRow.Insert Shift:=xlDown
Worksheets(Feuille).Cells(ligne, 1).Value = Choix
Existe = True
Exit Do
End If
ligne = ligne + 1
Loop

If Existe = False Then
Worksheets(Feuille).Cells(ligne, 1).Value = Choix
End If

End Function



et voici un exemple de son utilisation :

AjoutAutomatique("Editeurs", ChoixEditeur.Value)


Avec cette fonction je recherche dans la feuille Feuille la valeur Choix, si je la trouve je ne fais rien et si je ne la trouve pas je l'ajoute.

A priori si je comprends bien je devrais mettre :
AjoutAutomatique("Editeurs", ChoixEditeur.Value)=quelque chose

Or je ne vois pas pourquoi, j'ai déjà créer des fonctions similaires qui fonctionnaient très bien, la seule différence étant qu'elles ne contenaient qu'une seule variable.

Voilà, donc si quelqu'un peut m'apporter une réponse.
Merci à tous.
 
Re : Création d'une fonction

Bonsoir BobaFett23, le forum,

Avec cette fonction je recherche dans la feuille Feuille la valeur Choix, si je la trouve je ne fais rien et si je ne la trouve pas je l'ajoute.
A priori si je comprends bien je devrais mettre :
AjoutAutomatique("Editeurs", ChoixEditeur.Value)=quelque chose

En fait, ce n'est pas une "Function" que tu aurais dû coder mais une "sub" et là cela fonctionne.

Lorsque tu codes une "Function" "AjoutAutomatique", par exemple il faudrait mettre dans la "Function" : AjoutAutomatique = true ou false et tu pourrais le tester à l'arrivée :

résultat = AjoutAutomatique("Editeurs", ChoixEditeur.Value)
 
Re : Création d'une fonction

Effectivement, j'étais parti sur une sub en attendant une réponse à ma question, et celà fonctionne.

Mais je voulais comprendre pourquoi celà ne fonctionné pas en utilisant une Function.

Merci à tous pour vos réponses.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
662
Réponses
9
Affichages
327
Réponses
5
Affichages
847
Réponses
8
Affichages
753
Réponses
1
Affichages
305
Réponses
2
Affichages
386
Retour