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 :

Création d'une fonction (VBA)


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    comptable
    Inscrit en
    Janvier 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Janvier 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Création d'une fonction (VBA)
    Bonjour,

    je suis débutant sur Vba (et pas du tout informaticien)

    J'essaie de bidouiller une fonction qui permettrait de copier la valeur d'une cellule si une condition est rempli (copie uniquement de la valeur)


    voilà ce que j'ai réussi à bidouiller (et qui évidemment ne marche pas ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function regie(caisse As Integer, vérif As Integer) As String
    '
    If vérif = 1 Then
    '
       Range(caisse).Select
        Selection.Copy.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
     
            End If
     
    End Function
    toute aide sera la bienvenue

    d'avance merci

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour BLACKEYED05,

    J'ai un peu de mal à comprendre le besoin.
    Tu veux une fonction Function ou une procédure Sub ?
    Fonction : tu mettras dans ta feuille le signe "égal" "=" et tu utiliseras ta fonction personnalisée. Ou tu utiliseras directement cette fonction dans une procédure de ton classeur.
    Procédure : tu la lances et elle s'exécute... disons ça comme ça.

    Exemple simple :
    A B C
    1 0 Val1 =Ma_fonc(B1)
    2 1 Val2 =Ma_fonc(B2)
    3 1 Val3 =Ma_fonc(B3)
    4 0 Val4 =Ma_fonc(B4)

    Avec, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function Ma_fonc(oRng As Range)
     
    If oRng.Offset(0, -1) = 1 Then
        Ma_fonc = oRng
    Else
        Ma_fonc = ""
    End If
     
    End Function
    Cette fonction permet de récupérer la valeur de la cellule que tu lui passes en paramètre si la cellule à sa gauche contient la valeur "1".
    Ainsi, dans mon exemple, tu auras "Val2" et "Val3" d'afficher.

    Bref, au final, n'ayant pas compris entièrement ton besoin, il me semble que le plus judicieux soit que tu reviennes vers moi !

    Cordialement,
    Kimy

  3. #3
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Blackeyed, bonjour le forum,

    Ce que j'ai compris c'est que ta fonction a deux arguments : Caisse et Verif (on va éviter les accents). Tu vas sélectionner une cellule, tu vas écrire "=REGIE(", tu vas sélectionner la cellule Caisse qui contient la valeur à copier, tu vas écrire ";", puis tu vas sélectionner la cellule Verif qui contient la valeur de la condition, tu vas fermer la parenthèse ")" et enfin tu valides. En fonction de Verif ça va te coller la valeur de Caisse dans la cellule sélectionnée. Si c'est ça, essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function REGIE(Caisse As Range, Verif As Range)
    If Verif = 1 Then REGIE = Caisse.Value
    End Function
    [Édition]
    Bonsoir Kimy on s'est croisé...

Discussions similaires

  1. création d'une fonction min sur vba
    Par lilou31330 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/12/2012, 23h14
  2. création d'une fonction en VBA en fonction de mon exemple
    Par nicods dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/10/2012, 14h38
  3. [XL-2007] Excel VBA Création d'une fonction
    Par Tisbouch dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/05/2010, 19h22
  4. Création d'une boucle VBA pour la fonction SOMME.SI
    Par choudoudou15 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/05/2009, 12h03
  5. [VBA][E-07] Création d'une fonction personnelle "IsIncluded"
    Par BME2411 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/12/2008, 10h17

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