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 :

Recopie formule selon condition [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 123
    Par défaut Recopie formule selon condition
    Bonjour

    J'ai un tableau qui comporte en colonne "A" une liste d'articles.
    J'ai une formule en colonne "B" ligne "1" que je souhaite recopier avec une macro tant que la colonne "A" n'est pas vide.

    D'avance merci pour votre aide.
    StSym

  2. #2
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut recopie formule selon condition
    bonjour,


    - le premier code suppose que B1 est hors liste ou tableau
    il fait une copie de la formule contenue dans B1.
    les enregistrements commencent en ligne 2 A2 B2

    -le second suppose que b1 est une cellule du première enregistrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro1()
    'la formule est en cellule B1
    'les enregistrements commencent en ligne 2
    ligne = Range("a2").End(xlDown).Row 'renvoie la dernière ligne occupée
    Range("b2").Select 'positionnement dans première cellule devant recevoir la formule b1
     
    For i = 2 To ligne
      Range("b1").Copy 'la formule à copier
      ActiveSheet.Paste 'colle la formule dans la cellule b2 , b3 ,.....b ligne
      ActiveCell.Offset(1, 0).Select 'incrémente d'une ligne vers le bas
    Next i
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro2()
     
    'la formule est en cellule B1
    'les enregistrements commencent en ligne 1
    ligne = Range("a1").End(xlDown).Row 'renvoie la dernière ligne occupée
    Range("b1").Select 'positionnement dans première cellule devant recevoir la formule b1
     
    For i = 1 To ligne
      ActiveCell.FormulaR1C1 = "=RC[-1]"
      ActiveCell.Offset(1, 0).Select 'incrémente d'une ligne vers le bas
    Next i
     
    End Sub

    cordialement.

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Deux autres méthodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Test1()
    Dim DerLig As Long
        DerLig = Range("A" & Rows.Count).End(xlUp).Row
        Range("B1").Copy
        ActiveSheet.Paste Range("B1:B" & DerLig)
        Application.CutCopyMode = False
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test2()
    Dim DerLig As Long
        DerLig = Range("A" & Rows.Count).End(xlUp).Row
        Range("B1").AutoFill Destination:=Range("B1:B" & DerLig), Type:=xlFillDefault
    End Sub
    Cordialement.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 123
    Par défaut
    Bonjour nibledispo et gFZT82

    Merci à vous deux pour vos réponses et vos codes qui
    fonctionnent tous.

    Cordialement
    StSym

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

Discussions similaires

  1. [XL-2013] Formule pour calculer le montant des commissions selon conditions
    Par dufryve dans le forum Excel
    Réponses: 7
    Dernier message: 06/02/2015, 15h57
  2. Réponses: 5
    Dernier message: 08/02/2013, 10h04
  3. [XL-2010] Recopier selon conditions avec une partie "transposée"
    Par Gandorf dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 26/09/2012, 23h41
  4. [CR 9] appel valeur selon condition formule
    Par perezlyon dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 16/02/2011, 14h19
  5. [XL-2003] Simplification formule NBSI selon condition intitulé colonne
    Par trustvittel dans le forum Excel
    Réponses: 13
    Dernier message: 19/02/2010, 08h50

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