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 :

Probleme avec FormulaR1C1


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut Probleme avec FormulaR1C1
    Bonjour a tous

    J'utilise dans mon macro une formule pour calculer un coeff de droite de regression lineaire.
    Le probleme c'est que lorsque la macro est appelée une deuxieme fois, la formule plante compltement, et me renvoi vers des colonnes "IU" qui ne correspondent a rien!
    Pourtant, en mode debug, ce sont les bonnes formules qui lui sont inséréés!
    Est ce que quelqu'un sait si il peut y avoir un effet de bord sur cette propriété formulaR1C1?
    Merci par avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MySheet.Cells(startRow + 2, 6).FormulaR1C1 = CStr("=INDEX(LINEST(R[1]C[-2]:R[" & UBound(y_values_list) & "]C[-2],R[1]C[-3]:R[" & UBound(y_values_list) & "]C[-3],,TRUE),1,1)")

  2. #2
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonsoir,

    Que représente y_values_list ?

    Es-tu sûr que sa valeur n’évolue pas entre les 2 lancements ?

    PS - Le CStr est superflu.

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    A mon avis la reponse ne peut etre donner avec la ligne de code que tu fournis.
    Tu dois avoir dans ton code un endroit ou tu defini Active cell, et c'est a partir de cette case que les C[-2] et autre sont calculé, si activecell est sur la colonne UK alors C[-2] pointera sur UI.
    Ta variable y_values_list est je pense exclus du probleme etant donné qu'elle gere les ligne

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonsoir,

    Citation Envoyé par Qwazerty Voir le message
    Tu dois avoir dans ton code un endroit ou tu definis ActiveCell, et c'est à partir de cette case que les C[-2] et autre sont calculés
    Aucun rapport avec ActiveCell !

    Les distances en lignes et colonnes sont calculées par rapport à la cellule contenant la formule ! Par exemple,

    R[1]C[-2] représente la cellule située 1 ligne en-dessous, et 2 colonnes à gauche par rapport à la cellule dans laquelle la formule est insérée avec FormulaR1C1.

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    oui c'est vrai pourquoi j'ai dis ca moi ....
    Il en reste que je doute que le probleme vienne de cette ligne.
    Le mieux serait de faire du pas a pas sur ta procedure

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Le Probleme c'est que j'ai fait effectivement du pas a pas et au nivo de la boucle dans laquelle est insérée ma ligne de commande, seule startRow est incrementé.
    Le truc c'est que si je regarde dans mon code lors de l 'execution, un "espion" sur la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CStr("=INDEX(LINEST(R[1]C[-2]:R[" & UBound(y_values_list) & "]C[-2],R[1]C[-3]:R[" & UBound(y_values_list) & "]C[-3],,TRUE),1,1)")
    m'affiche bien la formule demandée, mais lorsque elle s'affiche dans la cellule, elle donne completement autre chose.
    Et le plus marrant, c'est qu'au premier tour de boucle, la formule est bonne, mais au deuxieme tour, ca plante!

    Bref si qqun a une solution, ca m'aiderai bcp!!

    Merci d'avance

  7. #7
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonjour,

    Si tu acceptais de répondre aux questions, ce serait + facile de t'aider

    Citation Envoyé par Bigalo Voir le message
    Bonsoir,

    Que représente y_values_list ?

    Es-tu sûr que sa valeur n’évolue pas entre les 2 lancements ?

    PS - Le CStr est superflu.

  8. #8
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Dsl !!

    En fait j'ai resolu mon probleme..
    Dans la suite de la boucle, je cree un graph (sur la meme feuillle que celle ou j'insere les formules) et je fait un graph.activate
    C'est ca qui plante l'insertion de la formule!!
    J'ai corrigé en activant une cellule de la feuille avant d'ecrire la formule et tout rentre dans l'ordre..

    Merci encore

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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