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

Le
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 ;-)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #7041651
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 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 !!!!
Fredo P
Le #7042351
_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" 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 ;-)


francois.forcet
Le #7044241
Rebonjours Philippes

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

Mille excuses pour l'erreur

Donnes moi des nouvelles !!!!
Philippe Meresse
Le #7050511
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




Philippe Meresse
Le #7059841
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
Fredo P
Le #7066191
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" 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


francois.forcet
Le #7066411
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 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
Publicité
Poster une réponse
Anonyme