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 - Insérer une formule dans une cellule et extension jusqu'à la ligne non vide - adjacente [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Télécom EM
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Télécom EM

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut VBA - Insérer une formule dans une cellule et extension jusqu'à la ligne non vide - adjacente
    Bonjour !

    Je travaille actuellement sur VBA mais j'ai malheureusement oublié tout mes cours
    Donc j'aimerai avoir l'aide de la communauté pour le problème qui suit :

    J'ai une feuille excel contenant des valeurs.
    Et j'aimerai appliquer une formule à partir de A11 à Axxx. XXX étant la valeur de BXXX en face non vide.

    J'ai beaucoup cherché mais à chaque fois que j'essaie d'adapter les solutions proposées par vos semblables je me retrouve avec des erreurs.

    Voici l'exemple sur lequel je bute en ce moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Range("A11").Select
     ActiveCell.FormulaR1C1 = "=if(isblank(B11);A10;if(B10=""Closing Balance"";B11;if(B10=""Risk profile: Undefined"";B11;A10))"
     Selection.AutoFill Destination:=Range("a11:a" & Range("b65536").End(xlUp).Row)
    Lorsque j'applique la formule, un bug apparaît ensuite avec l'alerte Runtime error 1004.
    En me rendant dessus, c'est la formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=if(isblank(B11);A10;if(B10=""Closing Balance"";B11;if(B10=""Risk profile: Undefined"";B11;A10))"
    qui est surligné en jaune

    Une ame charitable pourrait-elle m'éclaircir sur ce point ?

    Merci d'avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour à toi

    Premier point, tu utilise la propriété FormulaR1C1 et tu y mets des références de cellule avec les lettres des colonnes....
    Ça ne peux donc pas fonctionner.

    Dans un premier temps, remplace FormulaR1C1 par Formula

  3. #3
    Membre à l'essai
    Homme Profil pro
    Télécom EM
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Télécom EM

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut
    Bonjour à toi !

    Merci de ta réponse, par contre je viens de faire la modification, mais j'ai toujours la meme erreur qui apparaît ^^"

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ah oui !
    Dans les formules que tu appliques en VBA et qui sont donc en anglais, il faut remplacer les ; par ,
    Tiens ici un traducteur de formules bien pratique : http://fr.excel-translator.de/translator/

  5. #5
    Membre à l'essai
    Homme Profil pro
    Télécom EM
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Télécom EM

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut
    Mdr merci beaucoup pour le lien par contre je ne peux pas y accéder car mes accès sont bloqués pour beaucoup de site...

    Je ne vois pas ou je dois remplacer les ; par des ,
    Les ; sont utilisés de base dans la formule suivante non? et font parti intégrante de la formule telle que je l'aurai tapé si je le faisais manuellement dans une cellule lambda.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=if(isblank(B11);A10;if(B10=""Closing Balance"";B11;if(B10=""Risk profile: Undefined"";B11;A10))"

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    C'est bien ceux que tu as mis en rouge que tu dois remplacer
    Comme indiqué, les formules en français utilisent ; alors qu'en anglais c'est ,

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Formula = "=if(isblank(B11),A10,if(B10=""Closing Balance"",B11,if(B10=""Risk profile: Undefined"",B11,A10))"
    Au passage remplacement de FormulaR1C1 en Formula

    PS : Utilise la balise CODE (bouton #) plutôt que QUOTE

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

Discussions similaires

  1. [XL-2010] [VBA] Remplacer un caractére dans une formule par une variable (boucle for)
    Par surikhat dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/06/2015, 19h12
  2. [XL-2010] Insérer le résultat d'une formule dans une case
    Par Walaboss dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/04/2015, 17h19
  3. [XL-2010] Formule : attribuer une formule dans une cellule
    Par popi33370 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/03/2014, 18h06
  4. Réponses: 3
    Dernier message: 29/01/2008, 12h08
  5. Réponses: 2
    Dernier message: 02/06/2006, 11h26

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