Sélection multiple pour copier/coller dans les mêmes cases

Bonjour tout le monde,

Pourriez-vous m'aider a écrire une macro qui permettrait de faire une sélection multiple afin d'effectuer un copier coller sur une autre feuille SVP?

J'ai vu des macros de ce type sur le forum mais la particularité de ma demande est que le collage doit se faire exactement dans les mêmes cases que la feuille d'origine. Par exemple: si la sélection multiple se fait sur les case A1 et B3 de la feuille 1, le coller sur la feuille 2 doit se faire dans ces mêmes cases. Est-ce possible?

Merci par avance et bonne journée!

Fabien

Bonjour,

Essaie cette macro

Sub Test()
Dim T
Dim i As Long
    T = Split(Selection.Address, ",")
    For i = 0 To UBound(T)
        Sheets("Feuil1").Range(T(i)).Copy Sheets("Feuil2").Range(T(i))
    Next i
End Sub

A+

Merci Frangy,

Ça n'a pas fonctionné car je crois comprendre que la macro veut copier sur un autre onglet de la même feuille. J'ai besoin de copier de l'onglet A qui se trouve sur la feuille 1, sur l'onglet A qui se trouve sur la feuille 2.

Bonjour,

J'ai besoin de copier de l'onglet A qui se trouve sur la feuille 1, sur l'onglet A qui se trouve sur la feuille 2.

Si je puis faire une remarque en passant, un onglet est un onglet de feuille, c'est l'onglet qui porte le nom donné à la feuille...

Alors onglet A de la feuille 1 ou onglet A de la feuille 2, cela ne veut strictement rien dire ! du moins rien d'intelligible !!

je crois comprendre que la macro veut copier sur un autre onglet de la même feuille.

Non, la macro copie la plage sélectionnée dans la feuille 1, et la colle dans la même plage sur la feuille 2.

Tu n'expliques pas la manip que tu as effectuée.

Il faut sélectionner une plage puis lancer la macro.

A+

Pour faire plus simple je joins 2 feuilles Excel de test. J'ouvre les 2 feuilles, ensuite je sélectionne dans la feuille 1 les 3 cases encadrées, enfin j'active la macro. Il semble ne rien se passer !? Qu'est-ce que je fais de mal?

20feuil1.xlsm (16.46 Ko)
19feuil2.xlsm (15.27 Ko)

Tu as simplement un léger problème de terminologie.

Les deux fichiers que tu as joint à ton post sont des classeurs.

Ces classeurs contiennent des feuilles.

Ta demande était de copier une plage d'une feuille vers une autre feuille.

La programme fait très bien cela.

Si tu souhaite copier une plage d'un classeur vers un autre classeur, c'est une autre histoire.

A+

Désolé pour ma confusion, mon besoin est vraiment de copier d'un classeur a un autre Tu peux m'aider avec cela stp?

Voici le code adapté pour une copie dans la feuille "Feuil2" du classeur nommé "Classeur2.xlsx".

Attention ! le classeur2 doit être ouvert.

Sub Test()
Dim WsC As Worksheet
Dim T
Dim i As Long
    Set WsC = Workbooks("Classeur2.xlsx").Worksheets("Feuil2")
    T = Split(Selection.Address, ",")
    For i = 0 To UBound(T)
        Sheets("Feuil1").Range(T(i)).Copy WsC.Range(T(i))
    Next i
End Sub

A+

Cela me dit, "L'indice n'appartient pas à la sélection". Ci-joint mes fichiers de test renommés. L'erreur vient de moi?

20classeur1.xlsm (16.54 Ko)
17classeur2.xlsm (10.20 Ko)

Pour commencer, je trouve étonnant l'extension xlsm du classeur2 alors que la copie doit s'effectuer dans un classeur xlsx.

A+

C'était ça, merci pour tout, cela fonctionne parfaitement.


Frangy, Est-ce que je peux abuser de ton aide et te demander comment intégrer cette sélection à ta macro stp?:

    Union(Range( _
        "M115:M134,M136:M143,M145:M152,M154:M157,M159:M178,O42:O53,O55:O68,O70:O71,O73:O92,O94:O113,O115:O134,O136:O143,O145:O152,O154:O157,O159:O178,U13:U40,U42:U53,U55:U68,U70:U71,U73:U92,U94:U113,U115:U134,U136:U143,U145:U152,U154:U157,U159:U178,AA13:AA40" _
        ), Range( _
        "AA115:AA134,AA136:AA143,AA145:AA152,AA154:AA157,AA159:AA178,AC13:AC40,AC42:AC53,AC55:AC68,AC70:AC71,AC73:AC92,AC94:AC113,AC115:AC134,AC136:AC143,AC145:AC152,AC154:AC157,AC159:AC178,AE55:AE68,AE70:AE71,AE73:AE92,AE94:AE113,AE115:AE134,AE136:AE143,AE145:AE152" _
        ), Range( _
        "AG136:AG143,AG145:AG152,AG154:AG157,AG159:AG178,W185,AG185,AG186,B184:Q187,E3,E5,E7,E9,J3:P3,J5:P5,J7:P7,J9:P9,U3:W3,U5:W5,U7:W7,AE3:AF3,AE5:AF5,AE7:AF7,AE9:AF9,K13:K40,K42:K53,K55:K68,K70:K71,K73:K92,K94:K113,K115:K134,K136:K143,K145:K152" _
        ), Range("K154:K157,K159:K178,M13:M40,M42:M53,M55:M68,M70:M71,M73:M92,M94:M113") _
        ).Select
    Range("B184").Activate

Comme cela, ça sera toujours la même sélection qui sera coller sur le classeur 2.

Sub Test()
Dim WsC As Worksheet
Dim T, Plages
Dim i As Long, j As Long
Dim P1 As String, P2 As String, P3 As String, P4 As String, P5 As String, P6 As String, P7 As String, P8 As String, P9 As String, P10 As String
    Set WsC = Workbooks("Classeur2.xlsx").Worksheets("Feuil2")
    P1 = "M115:M134,M136:M143,M145:M152,M154:M157,M159:M178"
    P2 = "O42:O53,O55:O68,O70:O71,O73:O92,O94:O113,O115:O134,O136:O143,O145:O152,O154:O157,O159:O178"
    P3 = "U13:U40,U42:U53,U55:U68,U70:U71,U73:U92,U94:U113,U115:U134,U136:U143,U145:U152,U154:U157,U159:U178"
    P4 = "AA13:AA40,AA115:AA134,AA136:AA143,AA145:AA152,AA154:AA157,AA159:AA178"
    P5 = "AC13:AC40,AC42:AC53,AC55:AC68,AC70:AC71,AC73:AC92,AC94:AC113,AC115:AC134,AC136:AC143,AC145:AC152,AC154:AC157,AC159:AC178"
    P6 = "AE55:AE68,AE70:AE71,AE73:AE92,AE94:AE113,AE115:AE134,AE136:AE143,AE145:AE152"
    P7 = "AG136:AG143,AG145:AG152,AG154:AG157,AG159:AG178,W185,AG185,AG186,B184:Q187"
    P8 = "E3,E5,E7,E9,J3:P3,J5:P5,J7:P7,J9:P9,U3:W3,U5:W5,U7:W7"
    P9 = "AE3:AF3,AE5:AF5,AE7:AF7,AE9:AF9,K13:K40,K42:K53,K55:K68,K70:K71,K73:K92,K94:K113,K115:K134,K136:K143,K145:K152"
    P10 = "K154:K157,K159:K178,M13:M40,M42:M53,M55:M68,M70:M71,M73:M92,M94:M113"
    Plages = Array(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)
    For j = 0 To UBound(Plages)
        T = Split(Range(Plages(j)).Address, ",")
        For i = 0 To UBound(T)
            Sheets("Feuil1").Range(T(i)).Copy WsC.Range(T(i))
        Next i
    Next j
End Sub

A+

Excellent! Merci pour tout

Frangy, si tu as du temps, j'ai ouvert une autre question en rapport avec celle-ci: http://forum.excel- pratique.com/post478014.html#p478014

Rechercher des sujets similaires à "selection multiple copier coller memes cases"