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 :

Macro pour répéter une formule [XL-2002]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Macro pour répéter une formule
    Bonjour à tous,
    Je cherche à modifier une macro enregistrée. Dans celle-ci, on trouve une formule qui est répétée sur une plage de cellule défini. Hors, je souhaiterai que la formule soit répétée sur une plage qui serait défini en fonction des données d'une autre plage.

    exemple :
    on a des données en colonne C, la formule est en colonne E. On répète la formule en colonne E, jusqu'à la dernière cellule non vide en colonne C.

    Voir ci-dessous le code créé par la macro enregistrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Range("B1").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
        Range("E1").Select
        ActiveCell.FormulaR1C1 = "=IF(RC3<>"""", RC2&""-""&RC3,RC2)"
        Range("E1").Select
        Selection.AutoFill Destination:=Range("E1:E21"), Type:=xlFillDefault
        Range("F1").Select
    En gras ci-dessus, on trouve la ligne, qui je pense doit être modifiée.

    Je vous remercie par avance pour votre aide.



    Cordialement,
    NoodleDS

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Test()
    Dim LastLig As Long
     
    With Worksheets("Feuil1")                 'A adapter
        LastLig = .Cells(.Rows.Count, 2).End(xlUp).Row
        .Range("B1:B" & LastLig).TextToColumns Destination:=.Range("C1"), _
            DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=False, Comma:=False, _
            Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1)), _
            TrailingMinusNumbers:=True
        .Range("E1:E" & LastLig).FormulaR1C1 = "=IF(RC3<>"""", RC2&""-""&RC3,RC2)"
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    mercatog, je te remercie pour ta réponse qui après quelques adaptations, fonctionnent parfaitement.

    Cordialement,
    NoodleDS

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

Discussions similaires

  1. [XL-2010] Création macro pour répéter une formule sur plusieurs lignes
    Par JoOz-ZeP43 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/10/2014, 18h06
  2. [XL-2010] Macro pour recopier une formule dans une cellule
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 20/09/2013, 12h47
  3. Macro pour activer une formule excel
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 19/03/2010, 09h42
  4. [Formule]Macro pour masquer des formules dans une cellule
    Par Hellx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2007, 08h21
  5. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 19h24

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