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 :

Formule qui reste Fixe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Par défaut Formule qui reste Fixe
    Bonjour

    Voilà, j'ai une formule qui se trouve dans la colonne B, qui a pour but de faire la somme de la ligne de C:ZZ, mais voila, le hic c'est que je doit inserer des colonnes entre B et C, et cela a pour conséquence de bouger ma formule, a chaque insertion. une colonne d'ajouter et formule devient D:AAA etc.....
    J'ai essayer avec le signe $ devant ma lettre mais rien n'y fait. Quelqu'un aurait la 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
    Sub SommeSi()
    '
    ' SommeSi Macro
    '
     
     
        Range("B2").Select
        ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",SUM(RC[1]:RC[700]))"
        Range("B2").Select
    ' cela me permet d'étendre la formule sur 100 clients.    
    Selection.AutoFill Destination:=Range("B2:B100"), Type:=xlFillDefault
        Range("B2:B101").Select
        Range("A1").Select
    End Sub
    Merci

    Cordialement

    Didier

  2. #2
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Bonjour Didier,

    Excuse moi de te dire cela mais ton code ne veut rien dire! Donc reprenons si tu le veux bien. Déjà c'est quoi R[-1], etc... On utilise maintenant le nom des cellules.

    VOici ton code, commenté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub SommeSi()
     
        Range("B2").Select 'tu selectionnes B2 => OK
        ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",SUM(RC[1]:RC[700]))" 'Tu veux rentrer une formule en B2 mais c'est pas bon retire les RC
        Range("B2").Select 'tu reselectionnes B2 => Inutil
    ' cela me permet d'étendre la formule sur 100 clients.    
    Selection.AutoFill Destination:=Range("B2:B100"), Type:=xlFillDefault 'tu étends ta formule jusqu'a B100
        Range("B2:B101").Select 'selectionnes B2 à B101
        Range("A1").Select 'puis reselectionne A1 => inutiles?
    End Sub
    Peux tu nous dire se que tu souhaites, bien détaillé stp,

    Cdt,

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par jackborogar Voir le message
    Déjà c'est quoi R[-1]
    Regarde dans l'aide FormulaR1C1

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Par défaut
    La formule a été créée directement depuis Excel.

    Sinon ou se trouve l'aide pour : FormulaR1C1 ??

    Merci

    Cordialement

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Une méthode consiste a trouver la colonne qui contient le titre se trouvant actuellement en B1 puis de partir de cette cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub SommeSi()
    '
    ' SommeSi Macro
    '
     Dim Rg As Range
     
     Set Rg = Rows(1).Find(what:="Nom", lookat:=xlWhole)
     
     If Not Rg Is Nothing Then
        Range(Rg.Offset(1, 0), Rg.Offset(100, 0)).FormulaR1C1 = "=IF(RC[-1]="""","""",SUM(RC[1]:RC[700]))"
    End If
     
    End Sub

Discussions similaires

  1. panel qui reste fixe
    Par couse1 dans le forum JSF
    Réponses: 6
    Dernier message: 19/07/2011, 16h39
  2. Formule qui ne reste pas
    Par lebeniste dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/01/2009, 02h30
  3. Formule qui reste affichée au lieu de se calculer
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/11/2008, 11h16
  4. Rollover qui s'affiche si la souris reste fixe
    Par zaldiko dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 20/06/2008, 20h25
  5. Formule qui reste au format texte
    Par Djohn dans le forum Excel
    Réponses: 4
    Dernier message: 12/02/2008, 14h34

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