Macro Excel copier 2 fois cellule

Résolu
EmilieM Messages postés 22 Statut Membre -  
EmilieM Messages postés 22 Statut Membre -
Bonjour,
Je souhaiterai effectué une macro qui me copie la valeur d'une cellule dans 2 autres cellules. J'ai lancé une nouvelle macro et lancé enregistrement automatique mais le problème est que je dois faire cela pour 6000 cellules.
Est ce que quelqu'un aurait une idée de macro?
Ci dessous un extrait de la macro enregistrée :

Range("M51").Select
Selection.Copy
Range("O92").Select
ActiveSheet.Paste Link:=True
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("O92:O93"), Type:=xlFillDefault
Range("O92:O93").Select

Emilie.

15 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Pourrais-tu nous donner plus de détail ?

    Les cellules sources sont-elles uniquement dans la colonne "M" ?
    Les cellules destinations sont-elles toutes dans la colonne "O" ?

    ;o)
    0
  2. EmilieM Messages postés 22 Statut Membre
     
    Oui, les cellules sources sont uniquement dans la colonne M et les cellules de destinations dans la colonne O.

    Emilie
    0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Ok

    La cellule M51 est recopiée en O92 et O93.

    Est-ce que, par exemple, la cellule M2 sera recopiée en O43 et O44 ?

    0
  4. EmilieM Messages postés 22 Statut Membre
     
    Non, cela ce suit en fait.

    Par exemple, la cellule M51 sera copiée en O92 et O93 et la cellule M52 sera copié en O94 et O95.

    Voici la suite de la macro par exemple:

    Range("M43").Select
    Selection.Copy
    Range("O76").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O76:O77"), Type:=xlFillDefault
    Range("O76:O77").Select
    Range("M44").Select
    Selection.Copy
    Range("O78").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O78:O79"), Type:=xlFillDefault
    Range("O78:O79").Select
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Essaie avec ça

    Dim DerniereLigne As Integer
    Dim LigO As Long
    Dim cl
    
    LigO = 41
    
    DerniereLigne = Range("M65536").End(xlUp).Row
    
    For Each cl In Range("M1:M" & DerniereLigne)
        Range("O" & LigO).Value = cl.Value
        Range("O" & LigO + 1).Value = cl.Value
        LigO = LigO + 2
    Next cl
    


    ;o)
    0
  7. EmilieM Messages postés 22 Statut Membre
     
    Oui, cela fonctionne en partie mais j'aimerai que le copie des cellules commence en ligne 11 et s'arréte à la ligne 6011.
    Cela est il possible de le définir également?
    0
  8. EmilieM Messages postés 22 Statut Membre
     
    Euh, oups pardon, je veux juste dire que cela commence à la ligne11 de ma colonne M si c'est possible....
    0
  9. Polux31 Messages postés 7219 Statut Membre 1 204
     
    C'est à dire ? la cellule source ou celle de destination.

    Quand je demandais des précisions plus haut, c'est tout ça que je sous entendais.

    On a pas forcément une boule de crystal à dispo ^^

    ;o)

    «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
    Nicolas Boileau
    0
  10. EmilieM Messages postés 22 Statut Membre
     
    Oui, je sais mais il est vrai que vu que je réfléchis dessus depuis quelque jours il y a des choses qu'il me semble inutile de préciser, mais qui sont bien sur indispensable quand méme. Désolé....

    Pour répondre à ta question la première cellule dans laquelle copier la 1ère valeur devrait étre la cellule M12, donc celle de destination doit étre M12.

    Emilie.
    0
  11. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Heuuuu je comprends pas là ... la cellule source et destination est la même ???

    0
  12. EmilieM Messages postés 22 Statut Membre
     
    Alors, je recommence.

    J'ai ma première cellule source en M11 et ma première cellule destination est en O12.

    Exemple de la macro que j'ai réalisé :
    Range("M11").Select
    Selection.Copy
    Range("O12").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O12:O13"), Type:=xlFillDefault
    Range("O12:O13").Select
    Range("M12").Select
    Selection.Copy
    Range("O14").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O14:O15"), Type:=xlFillDefault
    Range("O14:O15").Select

    Emilie.
    0
  13. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Dans ton premier exemple M51 était copié en O92 et O93 !!! et là ça serait plutôt M51 copié en O52 et O53 ....

    c'est pas pareil
    0
  14. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Je dois partir:

    Voilà en espérant que ça soit ce que tu veux.

    Dim LigO As Long
    Dim cl
    
    LigO = 12
    
    
    For Each cl In Range("M11:M6011")
        Range("O" & LigO).Value = cl.Value
        Range("O" & LigO + 1).Value = cl.Value
        LigO = LigO + 2
    Next cl


    Bon courage

    ;o)
    0
  15. EmilieM Messages postés 22 Statut Membre
     
    Non, je t'expliques :
    M11 doit étre copier en O12 et O13......mais si tu continues cette logique tu arrives par palier de 2 à M51 copié en O92 et O93.

    Voici la macro enregistrer losque je l'ai fait manuellement:
    Range("M11").Select
    Selection.Copy
    Range("O12").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O12:O13"), Type:=xlFillDefault
    Range("O12:O13").Select
    Range("M12").Select
    Selection.Copy
    Range("O14").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O14:O15"), Type:=xlFillDefault
    Range("O14:O15").Select
    Range("M13").Select
    Selection.Copy
    Range("O16").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O16:O17"), Type:=xlFillDefault
    Range("O16:O17").Select
    Range("M14").Select
    Selection.Copy
    Range("O18").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O18:O19"), Type:=xlFillDefault
    Range("O18:O19").Select
    Range("M15").Select
    Selection.Copy
    Range("O20").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O20:O21"), Type:=xlFillDefault
    Range("O20:O21").Select
    Range("M16").Select
    Selection.Copy
    Range("O22").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O22:O23"), Type:=xlFillDefault
    Range("O22:O23").Select
    Range("M17").Select
    Selection.Copy
    Range("O24").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O24:O25"), Type:=xlFillDefault
    Range("O24:O25").Select
    Range("M18").Select
    Selection.Copy
    Range("O26").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O26:O27"), Type:=xlFillDefault
    Range("O26:O27").Select
    Range("M19").Select
    Selection.Copy
    Range("O28").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O28:O29"), Type:=xlFillDefault
    Range("O28:O29").Select
    Range("M20").Select
    Selection.Copy
    Range("O30").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O30:O31"), Type:=xlFillDefault
    Range("O30:O31").Select
    Range("M21").Select
    Selection.Copy
    Range("O32").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O32:O33"), Type:=xlFillDefault
    Range("O32:O33").Select
    Range("M22").Select
    Selection.Copy
    Range("O34").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O34:O35"), Type:=xlFillDefault
    Range("O34:O35").Select
    Range("M23").Select
    Selection.Copy
    Range("O36").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O36:O37"), Type:=xlFillDefault
    Range("O36:O37").Select
    Range("M24").Select
    Selection.Copy
    Range("O38").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O38:O39"), Type:=xlFillDefault
    Range("O38:O39").Select
    Range("M25").Select
    Selection.Copy
    Range("O40").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O40:O41"), Type:=xlFillDefault
    Range("O40:O41").Select
    Range("M26").Select
    Selection.Copy
    Range("O42").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O42:O43"), Type:=xlFillDefault
    Range("O42:O43").Select
    Range("M27").Select
    Selection.Copy
    Range("O44").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O44:O45"), Type:=xlFillDefault
    Range("O44:O45").Select
    Range("M28").Select
    Selection.Copy
    Range("O46").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O46:O47"), Type:=xlFillDefault
    Range("O46:O47").Select
    Range("M29").Select
    Selection.Copy
    Range("O48").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O48:O49"), Type:=xlFillDefault
    Range("O48:O49").Select
    Range("M30").Select
    Selection.Copy
    Range("O50").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O50:O51"), Type:=xlFillDefault
    Range("O50:O51").Select
    Range("M31").Select
    Selection.Copy
    Range("O52").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O52:O53"), Type:=xlFillDefault
    Range("O52:O53").Select
    Range("M32").Select
    Selection.Copy
    Range("O54").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O54:O55"), Type:=xlFillDefault
    Range("O54:O55").Select
    Range("M33").Select
    Selection.Copy
    Range("O56").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O56:O57"), Type:=xlFillDefault
    Range("O56:O57").Select
    Range("M34").Select
    Selection.Copy
    Range("O58").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O58:O59"), Type:=xlFillDefault
    Range("O58:O59").Select
    Range("M35").Select
    Selection.Copy
    Range("O60").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O60:O61"), Type:=xlFillDefault
    Range("O60:O61").Select
    Range("M36").Select
    Selection.Copy
    Range("O62").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O62:O63"), Type:=xlFillDefault
    Range("O62:O63").Select
    Range("M37").Select
    Selection.Copy
    Range("O64").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O64:O65"), Type:=xlFillDefault
    Range("O64:O65").Select
    Range("M38").Select
    Selection.Copy
    Range("O66").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O66:O67"), Type:=xlFillDefault
    Range("O66:O67").Select
    Range("M39").Select
    Selection.Copy
    Range("O68").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O68:O69"), Type:=xlFillDefault
    Range("O68:O69").Select
    Range("M40").Select
    Selection.Copy
    Range("O70").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O70:O71"), Type:=xlFillDefault
    Range("O70:O71").Select
    Range("M41").Select
    Selection.Copy
    Range("O72").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O72:O73"), Type:=xlFillDefault
    Range("O72:O73").Select
    Range("M42").Select
    Selection.Copy
    Range("O74").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O74:O75"), Type:=xlFillDefault
    Range("O74:O75").Select
    Range("M43").Select
    Selection.Copy
    Range("O76").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O76:O77"), Type:=xlFillDefault
    Range("O76:O77").Select
    Range("M44").Select
    Selection.Copy
    Range("O78").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O78:O79"), Type:=xlFillDefault
    Range("O78:O79").Select
    Range("M45").Select
    Selection.Copy
    Range("O80").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O80:O81"), Type:=xlFillDefault
    Range("O80:O81").Select
    Range("M46").Select
    Selection.Copy
    Range("O82").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O82:O83"), Type:=xlFillDefault
    Range("O82:O83").Select
    Range("M47").Select
    Selection.Copy
    Range("O84").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O84:O85"), Type:=xlFillDefault
    Range("O84:O85").Select
    Range("M48").Select
    Selection.Copy
    Range("O86").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O86:O87"), Type:=xlFillDefault
    Range("O86:O87").Select
    Range("M49").Select
    Selection.Copy
    Range("O88").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O88:O89"), Type:=xlFillDefault
    Range("O88:O89").Select
    Range("M50").Select
    Selection.Copy
    Range("O90").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O90:O91"), Type:=xlFillDefault
    Range("O90:O91").Select
    Range("M51").Select
    Selection.Copy
    Range("O92").Select
    ActiveSheet.Paste Link:=True
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("O92:O93"), Type:=xlFillDefault
    Range("O92:O93").Select

    En espérant que cela puisse t'aider.
    Merci pour tout.
    Je vais essayé de continuer avec les informations que tu m'as donné.

    Emilie.
    0
  16. EmilieM Messages postés 22 Statut Membre
     
    Oui, ton programme fonctionne.
    Merci beaucoup.
    Bonne journée.

    Emilie.
    0