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

éxecuter une fonction vba dans excel

  • Initiateur de la discussion Initiateur de la discussion dorian57290
  • 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 !

D

dorian57290

Guest
Bonjour,
je voudrai exécuter cette fonction dans une feuille excel où il y'a 2 cellules:
n Somme_n
30 0



Function somPremEnt(ByVal n As Integer) As Integer
' Hypothèse : n >= 0.
If n >= 0 Then
' Renvoie : la somme des entiers compris entre 0 et n (inclus).
somPremEnt = (n * (n + 1)) / 2
End Function

je suis débutant sur vba j'essaye de m'auto former, merci pour votre aide !
 
Re : éxecuter une fonction vba dans excel

Merci de votre réponse rapide, je ne voit pas ou est le problème justement lol. Ma ligne de code n'est pas bonne ou il faut que j’affecte N à une cellule d'une feuille excel ?
Merci pour votre conseil avec long plutot que integer
 
Re : éxecuter une fonction vba dans excel

Pas vu: manque End If avant la End Sub
Cela réparé la formule marche.
Le code doit être dans un module ordinaire.
VB:
Function somPremEnt(ByVal n As Integer) As Integer
' Hypothèse : n >= 0.
If n >= 0 Then
   ' Renvoie : la somme des entiers compris entre 0 et n (inclus).
   somPremEnt = (n * (n + 1)) / 2
   End If
End Function
 
Re : éxecuter une fonction vba dans excel

Bonjour à tous.


Autres propositions :​
Code:
Function somPremEntRoger_1(d)

'Respecte la condition : "... une fonction qui, étant donné
'un entier naturel n, renvoie la somme des n premiers entiers
'naturels non nuls..."
'
'Cette condition impose que :
'   - si n n'est pas entier, la fonction ne renvoie rien (ou
'     une valeur d'erreur) ;
'   - si n n'est pas strictement positif, la fonction ne
'     renvoie rien (ou une valeur d'erreur).

    somPremEntRoger_1 = ""
    If Not IsEmpty(d) And IsNumeric(d) Then
        If d = Int(Abs(d)) Then
            If d > 0 Then somPremEntRoger_1 = d * (d + 1) / 2
        End If
    End If

End Function
Code:
Function somPremEntRoger_2(d)

'Respecte la condition : "... une fonction qui, étant donné
'un entier naturel n, renvoie la somme des n premiers entiers
'naturels non nuls..."
'
'Cette condition impose que :
'   - si n n'est pas entier, la fonction renvoie une valeur
'     d'erreur (ou rien) ;
'   - si n n'est pas strictement positif, la fonction
'     renvoie une valeur d'erreur (ou rien).

    somPremEntRoger_2 = "argument invalide"
    If IsEmpty(d) Then
        somPremEntRoger_2 = ""
    Else
        If IsNumeric(d) Then
            If d = Int(Abs(d)) Then
                If d > 0 Then somPremEntRoger_2 = d * (d + 1) / 2
            End If
        End If
    End If

End Function


Bonne journée.


ℝOGER2327
#7744


Lundi 16 Gueules 142 (Saint Münchhausen, baron - fête Suprême Quarte)
22 Pluviôse An CCXXIII, 5,9616h - thyméle
2015-W07-2T14:18:28Z
 

Pièces jointes

Dernière édition:
- 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

D
Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…