IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA appel de fonction [Débutant(e)]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Par défaut VBA appel de fonction
    Bonjour,

    J'ai pas mal travaillé sur un exercice et je ne trouve toujours pas de soluce convenable.
    J'ai un classeur dans lequel il y a entre les lignes 2 à 100 et les colonnes A à Z des années sous le format "annéeXX" et à immédiatement à côté à droite des chiffres correspondant à des CA. On veut écrire une fonction qui est appelée par une procédure SUb et qui fait la somme des valeurs correspondant à un CA donné (l'année à traiter est indiqué en A1 feuille 1).

    J'obtiens un message d'erreur 'argument not optional' avec ce code:

    Function rechercher(annee As String) As Double
    Dim rec As Date, i As Integer, j As Integer
    rechercher = 0
    rec = CDate(annee) ' Mise en forme de la recherche
    For i = 2 To 100
    For j = 1 To 25
    If Range(Range.Rows(j) & i) = rec Then
    rechercher = rechercher + Range(Range.Rows(j) + 1 & i)
    End If
    Next j
    Next i
    End Function

    Sub Q_2()
    Dim annee As String
    annee = Worksheets(1).Range("A1")
    MsgBox "La somme des exercices pour l'année " & Right(annee, 4) & " est " & rechercher(annee)
    End Sub


    Je mets mon fichier avec.
    Je précise qu'il faut absolument que la variable pour le stockage de l'année soit String.

    Merci d'avance

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour

    voici ta fonction, selon ton fichier (année en A et montants en B)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function rechercher(annee As Integer) As Double
        Dim rec As Date, i As Long
        rechercher = 0
        rec = CDate("01/01/" & CStr(annee)) ' Mise en forme de la recherche
     
        For i = 1 To 100
            If Range("A" & i) = rec Then
                rechercher = rechercher + Range("B" & i)
            End If
        Next i
    End Function
    Bonne journée

Discussions similaires

  1. VBA : Appel de fonctions
    Par Dechon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/08/2009, 18h21
  2. Réponses: 10
    Dernier message: 19/03/2007, 17h55
  3. [VBA] Excel : Appel de fonction au clique sur un boutton
    Par nanu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/09/2006, 19h30
  4. [VBA-E] Appel de fonction/procédure depuis une variable
    Par truman dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/05/2006, 16h20
  5. [VBA][Excel] appel de fonction
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/12/2005, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo