Recopie automatique

Bonjour,

J'ai un classeur avec plusieurs feuilles.

Sur chaque feuille, il y a la colonne A qui est identique. Je voudrais que quand je remplis une cellule dans cette colonne cela se répercute sur chaque feuille.
Par exemple : Je remplis la cellule A32 sur la feuille 1 et cela remplit automatiquement la cellule A32 sur la feuille 2-3-4...

Merci,

Philippe

Bonjour,

Voici un essai si j'ai bien compris :

'CODE A METTRE DANS LE MODULE DE LA FEUILLE 1
private sub worksheet_change(byval target as range)

if target.column = 1 then
    set plage = intersect(target, me.columns(1))
    application.enableevents = false
    call actu(plage)
    application.enableevents = true
end if

end sub

'CODE A METTRE DANS UN MODULE NORMAL
sub actu(plage as range)

for each cell in plage
    for each ws in worksheets
        if ws.name <> plage.parent.name then
            ws.range(cell.address).value = cell.value
        end if
    next ws
nexr cell

end sub

Cdlt,

Merci beaucoup pour ton aide.

Je vais essayer ça. Je pensais qu'il y avait quelque chose de plus simple et sans avoir à passer par du VBA. Mais si ça fonctionne c'est top !

Il y a toujours la solution par formules, beaucoup plus simple :

=Feuil1!$A1

A tirer aussi bas que vous le souhaitez

Cdlt,

Edit : Salut Curulis

Salut Wefalck,
Salut 3GB,

Colonnes [A:A] identiques ? Toutes, tout le temps, à la cellule près ?
Si et seulement si les changements de valeur n'interviennent QUE dansUNE feuille précise, alors cette formule conviendrait très bien pour les autres feuilles.

=Feuil1!A1


A+

Oui j'ai bien pensé à ça. Il faudrait juste que je ne modifie que la 1ère feuille et ce serait répercuté sur les suivantes.

Je vais tester le code VBA demain, si ça correspond à la même chose mais avec possibilité de modification sur chaque page, ce sera quand même plus souple.

Merci pour votre aide en tout cas.

Mais est-ce qu'il faut également qu'une modification en feuille 2 impacte la feuille 1 (et toutes les autres également) ?

Dans ce cas, il faudrait plutôt ceci :

'CODE A METTRE DANS LE MODULE THISWORKBOOK
private sub workbook_sheetchange(byval sh as object, byval target as range)

if target.column = 1 then
    set plage = intersect(target, sh.columns(1))
    application.enableevents = false
    call actu(plage)
    application.enableevents = true
end if

end sub

'CODE A METTRE DANS UN MODULE NORMAL
sub actu(plage as range)

for each cell in plage
    for each ws in worksheets
        if ws.name <> plage.parent.name then
            ws.range(cell.address).value = cell.value
        end if
    next ws
nexr cell

end sub

Cdlt,

Oh, la,la, 3GB, comme tu te compliques la vie !

Une macro en 'ThisWorkbook...

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'
If Selection.Count > 1 Then Exit Sub
Application.EnableEvents = False
Application.ScreenUpdating = False
'
If Not Intersect(Target, Sh.Columns(1)) Is Nothing Then
    For x = 1 To Sheets.Count
        Sheets(x).Range("A" & Target.Row).Value = Target
    Next
End If
'
Application.ScreenUpdating = True
Application.EnableEvents = True
'
End Sub


A+

Oui j'ai une petite condition en trop mais au moins, les changements multiples sont pris en compte .

Rechercher des sujets similaires à "recopie automatique"