Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier plage d'une feuille et coller l'ensemble sur autre feuille

7 réponses
Avatar
Philippe Meresse
Bonsoir, (Excel 2007),

je cherche à copier automatiquement (format de cellule, valeurs,
pourcentage, etc...) la plage A17:T30 d'une feuille "Groupe" (à chaque
modification de cette plage) vers toutes les autres feuilles derrière
celle-ci en A6:T19.

Si pas possible, ben alors je souhaiterai copier automatiquement (format de
cellule, valeurs, pourcentage, etc...) la plage A17:T30 d'une feuille
"Groupe" (à chaque modification de cette plage) vers feuille "BSD" en
A6:T19, vers feuille "BMB" en A6:T19 et ainsi de suite (je créerai les
feuilles).

merci d'avance pour votre aide,

Philippe (il y a bien longtemps que je n'étais pas venu ;-)

7 réponses

Avatar
francois.forcet
Salut Philippe

Dans le VBA de ta feuille "Groupe" mets ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 16 And Target.Row < 31 And Target.Column > 0 And
Target.Column < 21 Then
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Feuil1" Then
Sheets("Feuil1").Range("A17", "T30").Copy Sheets(i).Range("A6")
End If
Next
End If
End Sub

Fais des essais et dis moi !!!!
Avatar
Fredo P
_Dans le code Feuille("Groupe")

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect([A17:T30], Target) Is Nothing Then
Copie
MsgBox "Copie effectuée"
End If
End Sub

_In Module
Public Sub Copie()
Dim Rg As Range, Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name <> "Groupe" Then
[Groupe!A17:T30].Copy Destination:=Ws.[A6]
End If
Next
End Sub

http://cjoint.com/?gtksMbizYX

"Philippe Meresse" a écrit dans le message de
news: 48592eb7$0$884$
Bonsoir, (Excel 2007),

je cherche à copier automatiquement (format de cellule, valeurs,
pourcentage, etc...) la plage A17:T30 d'une feuille "Groupe" (à chaque
modification de cette plage) vers toutes les autres feuilles derrière
celle-ci en A6:T19.

Si pas possible, ben alors je souhaiterai copier automatiquement (format
de cellule, valeurs, pourcentage, etc...) la plage A17:T30 d'une feuille
"Groupe" (à chaque modification de cette plage) vers feuille "BSD" en
A6:T19, vers feuille "BMB" en A6:T19 et ainsi de suite (je créerai les
feuilles).

merci d'avance pour votre aide,

Philippe (il y a bien longtemps que je n'étais pas venu ;-)


Avatar
francois.forcet
Rebonjours Philippes

Juste une petite correction dans ma proposition
Changes "Feuil1" par "Groupe"

Mille excuses pour l'erreur

Donnes moi des nouvelles !!!!
Avatar
Philippe Meresse
Bonsoir Fred,
Bon alors ç'a marche mais (oui mais ;-)) ç'a le copie même dans les feuilles
avant "Groupe" et la c'est pas bon.
je m'explique un peu;
j'ai donc plusieurs feuilles,
1,2,Groupe, 3,4,5, etc
c'est donc exactement la manip de copier que tu as faites mais le collage
vers 3,4,5, etc.
c'est pas infini, il y en a une vingtaine et dans la macro on peu peu etre
les lister une par une.
J'ai essayé de le faire par l'enregistreur, y'a pas d'erreur, il copie mais
il ne colle rien en destination.
je comprends plus rien
Merci,
Philippe
PS: code de l'enregistreur:

Range("A17:T30").Select
Selection.Copy
Sheets(Array("BHP", "BMB", "BSD", "BBI", "BOD", "BSY", "BVJ", "BGG",
"BSJ", "CET", "CPP", _
"UNY", "UDD", "UMP", "UBM", "UEE")).Select
Sheets("BHP").Activate
Range("A6").Select
ActiveSheet.Paste


----- Original Message -----
From: "Fredo P"
Newsgroups: microsoft.public.fr.excel
Sent: Thursday, June 19, 2008 10:20 AM
Subject: Re: Copier plage d'une feuille et coller l'ensemble sur autre
feuille


_Dans le code Feuille("Groupe")

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect([A17:T30], Target) Is Nothing Then
Copie
MsgBox "Copie effectuée"
End If
End Sub

_In Module
Public Sub Copie()
Dim Rg As Range, Ws As Worksheet
For Each Ws In Worksheets
If Ws.Name <> "Groupe" Then
[Groupe!A17:T30].Copy Destination:=Ws.[A6]
End If
Next
End Sub

http://cjoint.com/?gtksMbizYX




Avatar
Philippe Meresse
Bonsoir à Fredo et François,
A force de chercher, "trifouiller" et surtout essayer de comprendre, ben
j'ai sorti ç'a que j'ai associé à un bouton:

Public Sub CopieGroupe()
'
Sheets("groupe").Select
Range("A17:T30").Copy
Sheets(Array("BHP", "BMB", "BSD", "BBI", "BOD", "BSY", "BVJ", "BGG", "BSJ",
"CET", "CPP", _
"UNY", "UDD", "UMP", "UBM", "UEE")).Select
Range("A6:T19").Select
ActiveSheet.Paste

End Sub

--

c'est pas très beau mais ç'a marche,
@+ et encore merci
philippe
Avatar
Fredo P
Une Variante adaptée pour la cause

Public Sub Copie()
Dim X
X = Array("Groupe", "BHP", "BMB", "BSD", "BBI", "BOD", "BSY", "BVJ", "BGG",
"BSJ", _
"CET", "CPP", "UNY", "UDD", "UMP", "UBM", "UEE")
Sheets(X).FillAcrossSheets Worksheets("Groupe").Range("A19:T30")
End Sub

"Philippe Meresse" a écrit dans le message de
news: 485c14ff$0$904$
Bonsoir à Fredo et François,
A force de chercher, "trifouiller" et surtout essayer de comprendre, ben
j'ai sorti ç'a que j'ai associé à un bouton:

Public Sub CopieGroupe()
'
Sheets("groupe").Select
Range("A17:T30").Copy
Sheets(Array("BHP", "BMB", "BSD", "BBI", "BOD", "BSY", "BVJ", "BGG",
"BSJ", "CET", "CPP", _
"UNY", "UDD", "UMP", "UBM", "UEE")).Select
Range("A6:T19").Select
ActiveSheet.Paste

End Sub

--

c'est pas très beau mais ç'a marche,
@+ et encore merci
philippe


Avatar
francois.forcet
Rebonjours Philippes
Suite à ton Mail je t'ai dans ma réponse en retour fait cette
proposition :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 16 And Target.Row < 31 And Target.Column > 0 And
Target.Column < 21 Then For i = 2 To Sheets.Count
If Sheets(i - 1).Name = "Groupe" Then
Copie = "OK"
End If
If Copie = "OK" Then
Sheets("Groupe").Range("A17", "T30").Copy Sheets(i).Range("A6")
End If
Next
End If
End Sub

L'as tu essayée !!!!

Donnes moi des nouvelles