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 :

copier lignes choisies les coller en bas sur plusieurs feuilles


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut copier lignes choisies les coller en bas sur plusieurs feuilles
    Bonjour
    j'ai besoin d'aide s'il vous plait. (je suis sous Excel 2007)
    En fait, j'ai des variables à utiliser pour faire des formules avec, donc j'ai colorié en jaune les lignes de mes variables sur plusieurs feuilles , après pour répéter les manipulations avec ces variables sur plusieurs feuilles(faire sélectionner toutes les feuilles et effectuer mes formules), je voudrais copier les lignes jaunes en question, et les coller en bas de chaque feuille successivement à partir de ligne 920 .
    j'ai laissé un fichier joint avec un modèle réduit de mon classeur , en fait je veux reproduire ce qui a été fait dans la feuille 1 sur toutes les feuilles, soit copier les lignes jaunes ,les coller à partir de la ligne 920 pour toutes les autres feuilles.
    merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Coucou !

    Pour répondre à ta demande, je voulais savoir si ces lignes étaient fixes ou s'il faut faire une recherche par nom sur ces lignes ?

    Autres questions:
    - Il n'y a bien que 8 lignes à copier/coller ?
    - Le nom de tes onglets est fixe ? Risque de changer ? Il n'y en a bien que 3 ?
    - Quand tu parles de la ligne 920, elle risque de changer ou restera fixe ?
    - N'aillant forcément pas lu toutes les lignes, je voulais savoir s'il y avait des noms d'en-tête (colonne A) qui aurait les mêmes noms
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  3. #3
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Je te propose la macro suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Sub Copy_paste()
    Dim ori As Range
    Dim dest As Range
     
     
    With ActiveSheet
        Set dest = .Range("A920")
     
        Set ori = .Range("A1:A919").Find("No of recorded shareholders", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        Set ori = .Range("A1:A919").Find("BvDEP Independence Indicator", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        Set ori = .Range("A1:A919").Find("Total Assets", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        Set ori = .Range("A1:A919").Find("Gross Loans", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        Set ori = .Range("A1:A919").Find("Total Deposits, Money Market and Short-term Funding", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        Set ori = .Range("A1:A919").Find("Equity / Tot Assets", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        Set ori = .Range("A1:A919").Find("Return On Avg Assets (ROAA)", LookIn:=xlFormulas, lookat:=xlWhole)
        For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            dest.Offset(0, i) = ori.Offset(0, i)
        Next i
     
        Set dest = dest.Offset(1, 0)
     
        'Set ori = .Range("A1:A919").Find("SHAREHOLDERS", LookIn:=xlFormulas, lookat:=xlWhole)
        'For i = 0 To .Cells(ori.Row, .Cells.Columns.Count).End(xlToLeft).Column
            'dest.Offset(0, i) = ori.Offset(0, i)
        'Next i
     
    End With
     
    End Sub
    Le seul problème c'est que je ne comprends pas vraiment l'intéret du "SHAREHOLDERS" qui ne contient pas d'information (qui est d'ailleurs une seule et même cellule) et qui pose donc soucis dans mon programme.

    Si tu as tout de même besoin de cette cellule, décommente la dernière partie du code.

    La macro est rustre mais fonctionne. A exécuter sur toutes les pages que tu veux si le nom des cellules que tu veux copier est identique !

    Tiens moi au courant !
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2015, 09h12
  2. Réponses: 7
    Dernier message: 22/06/2011, 18h37
  3. [AC-2007] copier lignes excel et coller dans corps de mail outlook (VBA)
    Par alienorcapital dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/02/2011, 16h31
  4. Réponses: 1
    Dernier message: 02/05/2010, 10h26
  5. Lister les valeurs distinctes présentes sur plusieurs feuilles
    Par neupont dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/06/2008, 10h42

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