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 :

Utiliser une fonction excel dans une macro et proprièté range


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Utiliser une fonction excel dans une macro et proprièté range
    Salut
    voila j'amerai utiliser la fonction somme de plusieurs cellules. et mettre le résultat dans une autre cellule.
    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 7) = somme(Cells(5, 22), Cells(200, 22))
    Et puis deuxième questions

    comment faire pour intégrer une variable dans le range?

    à la base on peut avoir
    range("A2:B6") et maintenant je veux range("Ai:Bj") avec i et j comme condition avec if ou for. Mais la dernière solution ne marche pas.
    merci

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    pour la premiere question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 7) = somme(Cells(5, 22), Cells(200, 22))
    c'est identique à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 7) = Cells(5, 22) + Cells(200, 22)
    comment faire pour intégrer une variable dans le range?
    Comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("A" & i &":B" & j)
    Jérôme

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par bebel9313
    Salut
    voila j'amerai utiliser la fonction somme de plusieurs cellules. et mettre le résultat dans une autre cellule.
    Voici le code:

    Cells(3, 7) = somme(Cells(5, 22): Cells(200,22))
    j'avais mal posé ma question
    Mais pour faire la somme de la cellule (5,22) à la cellule (200,22) par exemple.

    J'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 7) = somme(Cells(5, 22): Cells(200, 22))
    mais ça ne marche pas.

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    bonjour,
    Une solution....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    '----Dans un module
    Dim i as integer
    Dim j as integer
     
    Sub Macro1()
        Sheets("feuil1").Select  ' a ajuster bien sur
        range("A" & i &":B" & j).Select ' pour pouvoir changer la sélection par variable
        Dim cel As Range
        Dim Tot as double
        For Each cel In Selection
            Tot = Tot + cel.value
        Next cel
        Cells(3, 7).value = Tot
    End Sub
    A+

    Edit: Il y a bien une autre solution, mettre la formule =Somme(etc.. dans la cellule Cells(3,7) mais je ne sais pas si cela te conviendrais.

  5. #5
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Essai comme ca pour l'utilisation de somme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B2").FormulaLocal = "=somme(" & Cells(1, 1).Address & ":" & Cells(4, 1).Address & ")"
    Evidemment tu modifies les coordonnées des cellules
    Jérôme

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Salut JFontaine, les "grand esprits se rencontrent"
    Tu à mis ta formule pendant que j'éditait.
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] Pb de fermeture d'Excel dans une fonction lancée dans Word
    Par JonesKCD dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/10/2010, 16h50
  2. insérer un bouton dans une feuille excel lié à une fonction vba
    Par thierry_b dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/06/2009, 12h14
  3. [AJAX] [XAJAX] Lancer une fonction JS dans une fonction AJAX
    Par sixieme-sens dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/12/2008, 15h26
  4. Réponses: 1
    Dernier message: 25/10/2007, 21h25
  5. [VBA-E] Une fonction Excel dans une fonction VBA
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/07/2006, 10h21

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