Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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,


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

Bonjour à tous,

Dans le module1, un exemple d'utilisation de fonction perso.
La fonction, son utilisation dans une procédure sub et dans une feuille de calcul.

bonne journée
 

Pièces jointes

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…