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 incrémentée d'une ligne de formule


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Recopie incrémentée d'une ligne de formule
    Bonjour à tous,



    Je cherche à recopier plusieurs formules (diffrentes) de la colonne B à BH, sachant qu'une première macro m'a ajouté des données en colonne A.

    J'ai bien lu et essayé des bouts de macro avec autofill, mais ça ne fonctionne pas.

    Auriez-vous des suggestions ?

    Merci d'avance ;-)

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Petit exemple ci-dessous d'une recopie de cellules B2:B5 vers les cellules C2:M5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim sht As Worksheet, rngSource As Range, rngTarget
     Set sht = ThisWorkbook.Worksheets("Feuil1")
     Set rngSource = sht.Range("B2:B5")
     Set rngTarget = sht.Range("B2:M5")
     rngSource.AutoFill Destination:=rngTarget
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Ou se trouve ces formules? sur une ligne? doivent être créées par macro?

    Exemple de copie de formule se trouvant en D1 jusqu'à la dernière ligne utilisée en colonne A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("D1").Copy
    Range("D2:D" & Range("A" & Rows.Count).End(xlUp).Row).PasteSpecial
    Jérôme

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une autre solution serait un simple Copier/Coller
    Recopie de cellules B2:B5 vers les cellules C2:M5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim sht As Worksheet, rngSource As Range, rngTarget
     Set sht = ThisWorkbook.Worksheets("Feuil1")
     Set rngSource = sht.Range("B2:B5")
     Set rngTarget = sht.Range("C2:M5")
     rngSource.Copy rngTarget
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci de vos réponses.

    En fait, une première partie de macro vient ajouter des données en colonne A de façon variable (dans la dernière cellule non remplie).
    Ex : la macro est venue coller de nouvelles données de A50 à A60.

    Je cherche donc maintenant à recopier les formules présentes en cellule B49 à BH49 vers B50 à BH60.

    Le nombre de lignes à copier dépend de ce que j'ai en colonne A.

    Est-ce plus clair ?!

    Merci beaucoup

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si ta macro recopie les cellules de B49 à BH49 vers B50 à BH60, je suppose qu'avec les réponses que l'on t'a apporté tu devrais pouvoir faire les adaptations.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    ok, mais je ne veux pas écrire les références des cellules dans le code. Je sais que je travaille de la colonne B à BH... mais je ne sais pas sur quelles lignes !

    Suis une grande débutante en VBA... ;-)

    Mais si tu me dis que je dois pouvoir y arriver, je vais chercher !

    Merci !

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    regardes la ligne 2 du code que je t'ai proposé plus haut
    Jérôme

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Elle fonctionne bien pour recopier la formule d'1 colonne

    Mais n'y a-t-il pas moyen de copier toutes les formules de la ligne pour les recopier en même temps ?

  10. #10
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    JFontaine,

    Merci,

    J'ai adapté ta formule en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Range("B645:BH645").Copy
      Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row).PasteSpecial
    La macro copiera toujours la ligne 645, cela me va aussi.

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

Discussions similaires

  1. copier vers le bas une ligne de formule tant que
    Par lebowsky60 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/09/2013, 10h23
  2. PHPEXCEL impossible de lire le contenu d'une ligne avec formule
    Par Akim13 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/05/2013, 15h54
  3. Incrémentation d'une ligne sur excel
    Par bones24 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/02/2013, 08h30
  4. Etirer une ligne de formules vers bas
    Par Mag555 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 23/08/2011, 16h13
  5. [XL-2007] Incrémenter d'une ligne dans la feuille l'écriture de la saisie d'une textbox
    Par iriane dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/08/2010, 16h40

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