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 :

Effectuer un calcul jusqu’à cellule avec zéro


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Effectuer un calcul jusqu’à cellule avec zéro
    Bonjour,


    Je cherche une formule ( ou marco ) qui me permettrait de d'effectuer un calcul ( interpolation) sur une plage de données variables (nombre de cellule de la colonne non fixé) jusqu’à la valeur 0


    Admettons que la colonne A contienne 10 valeurs, les 2 dernières se terminant par 0, je voudrais effectuer le calcul d'interpolation sur les 8 premières cellules , sans prendre en compte des 2 autres.

    Merci pour vos réponse

  2. #2
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    une piste

    formule : NB.SI ou NB.SI.ENS

    VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(lign,1).value = 0 then Cells(lign,1).value = ""
    lign est le n° de ligne
    et comme cela tu boucle que sur des cellules qui ne sont pas vide

    je tenterai comme cela

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2013
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    En fait j'utilise la formule suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TENDANCE(DECALER(A32;0;1;NB($B:$B);1);DECALER(A32;0;0;NB($B:$B);1);E32)
    J'ai tenté de la modifier comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TENDANCE(DECALER(A32;0;1;NB.SI.ENS($B:$B;">S31");1);DECALER(A32;0;0;NB.SI.ENS($B:$B;">S31");1);E35)
    Mais ça ne marche pas , le nombre d’élément présent en X et en Y est différant , donc la formule tendance ne peu pas fonctionner.

    Aurais tu une idée de comment indexer la taille de la colonne A sur celle de la B du coup?

    Merci

  4. #4
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    je suppose qu'au final tu va faire un graphique

    Si c'est bien le cas pourquoi ne fais-tu pas ta courbe de tendance directement sur ton graphique ?

    A+

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 23
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Recherches-tu à créer une macro ou à modifier cette function ?

    Car pour une macro tu pourrais parcourir ta colonne de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    While Workbooks("fichier.xlsm"). Worksheets("feuille").Cells(Y, X).Value <> 0
    'Ici ta formule, tu peux manipuler la valeur de la cellule active de manière suivante :
    Workbooks("fichier.xlsm"). Worksheets("feuille").Cells(Y, X).Value = Fonction()
    ' ...
    Y = Y + 1
    Wend
    Ou Y est ton numéro de ligne et X ton numéro de colonne.

    Si tu as besoin de plus d'infos n'hésite pas !
    Cordialement,
    François

Discussions similaires

  1. [AC-2010] Effectuer des calculs avec des dates issues d'une requête
    Par nianiania dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/04/2012, 20h51
  2. [XL-2003] calculer cumul puis fusionner des cellules avec des valeurs
    Par doudou8mc dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2009, 16h51
  3. Réponses: 3
    Dernier message: 16/07/2008, 16h28
  4. Calcul dans cellules avec code
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/01/2008, 10h24

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