Macro Excel copier 2 fois cellule

Résolu/Fermé
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010 - Modifié par Jeff le 25/03/2010 à 08:45
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010 - 25 mars 2010 à 10:59
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

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 mars 2010 à 08:54
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 09:06
Oui, les cellules sources sont uniquement dans la colonne M et les cellules de destinations dans la colonne O.


Emilie
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 mars 2010 à 09:32
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 09:46
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 mars 2010 à 09:47
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 09:57
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 10:02
Euh, oups pardon, je veux juste dire que cela commence à la ligne11 de ma colonne M si c'est possible....
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
Modifié par Polux31 le 25/03/2010 à 10:07
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 10:09
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 mars 2010 à 10:27
Heuuuu je comprends pas là ... la cellule source et destination est la même ???

0
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 10:33
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 mars 2010 à 10:42
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 mars 2010 à 10:52
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 10:54
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
EmilieM Messages postés 20 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 2 juin 2010
25 mars 2010 à 10:59
Oui, ton programme fonctionne.
Merci beaucoup.
Bonne journée.

Emilie.
0