OVH Cloud OVH Cloud

recopier une feuille et la mettre à jour

7 réponses
Avatar
AB
Bonsoir à tous,
Comment faire pour recopier entièrement dans la feuille 2 les valeurs
issues des formules contenues dans la feuille 1, en faisant en sorte que
tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
feuil1, sauf qu'y figureront les valeurs, alors que les formules seront
en feuil1).
André

7 réponses

Avatar
Claude Trouet
Bonsoir,
Ce code mis dans le module de la feuille ....
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Select
Selection.Copy
Sheets("Feuil2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Sheets("Feuil1").Select
Application.CutCopyMode = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Est-ce OK ?
Claude

"AB" a écrit dans le message de news:
%23%
Bonsoir à tous,
Comment faire pour recopier entièrement dans la feuille 2 les valeurs
issues des formules contenues dans la feuille 1, en faisant en sorte que
tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
feuil1, sauf qu'y figureront les valeurs, alors que les formules seront en
feuil1).
André


Avatar
Philippe.R
Bonsoir,
Le plus simple AMHA, sélectionner toute la plage active de la feuille 1 en se plaçant en A1 Ctrl+Maj+Fin
/ copier
sélectionner la cellule A1 de la feuille 2 et edition / collage spécial / valeurs
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"AB" a écrit dans le message de news:
%23%
Bonsoir à tous,
Comment faire pour recopier entièrement dans la feuille 2 les valeurs issues des formules contenues
dans la feuille 1, en faisant en sorte que tout déplacement d'une cellule dans la feuille 1 soit
répercuté dans la feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de feuil1, sauf
qu'y figureront les valeurs, alors que les formules seront en feuil1).
André


Avatar
Claude Trouet
Re bonsoir,
Modifier comme suit :
----- module de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
cel = ActiveCell.Address
Copie_Feuil1
Range(cel).Select
Application.ScreenUpdating = True
End Sub

----- module standard
Sub Copie_Feuil1()
Application.ScreenUpdating = False
Cells.Select
Selection.Copy
Sheets("Feuil2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Range("A1").Select
Sheets("Feuil1").Select
Application.CutCopyMode = False
End Sub

C'est mieux je pense
Claude


"AB" a écrit dans le message de news:
%23%
Bonsoir à tous,
Comment faire pour recopier entièrement dans la feuille 2 les valeurs
issues des formules contenues dans la feuille 1, en faisant en sorte que
tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
feuil1, sauf qu'y figureront les valeurs, alors que les formules seront en
feuil1).
André


Avatar
AB
Bonsoir Philippe et Claude,
Philippe, ça ne peut pas marcher, car avec ta solution, je ne répercute
pas les déplacements de cellules.
Claude, ça marche, à un détail près, très curieux :
Les valeurs texte sont reproduites parfaitement et mises à jour.
En revanche, dans la feuille 1, certaines valeurs sont générées par la
fonction ALEA.ENTRE.BORNES
Ces valeurs ne sont pas les mêmes dans la feuille 2 !! Pourtant on colle
bien en feuil2 les valeurs, et pas les formules !
Je ne comprends pas...
André


Re bonsoir,
Modifier comme suit :
----- module de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
cel = ActiveCell.Address
Copie_Feuil1
Range(cel).Select
Application.ScreenUpdating = True
End Sub

----- module standard
Sub Copie_Feuil1()
Application.ScreenUpdating = False
Cells.Select
Selection.Copy
Sheets("Feuil2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Range("A1").Select
Sheets("Feuil1").Select
Application.CutCopyMode = False
End Sub

C'est mieux je pense
Claude


"AB" a écrit dans le message de news:
%23%

Bonsoir à tous,
Comment faire pour recopier entièrement dans la feuille 2 les valeurs
issues des formules contenues dans la feuille 1, en faisant en sorte que
tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
feuil1, sauf qu'y figureront les valeurs, alors que les formules seront en
feuil1).
André







Avatar
Claude Trouet
Re bonsoir,
Je crois que le problème vient du fait qu'un recalcul est effectué quand la
feuille 1 est réactivée.
Pb : je ne sais pas comment empêcher cela par VBA

Claude

"AB" a écrit dans le message de news:

Bonsoir Philippe et Claude,
Philippe, ça ne peut pas marcher, car avec ta solution, je ne répercute
pas les déplacements de cellules.
Claude, ça marche, à un détail près, très curieux :
Les valeurs texte sont reproduites parfaitement et mises à jour.
En revanche, dans la feuille 1, certaines valeurs sont générées par la
fonction ALEA.ENTRE.BORNES
Ces valeurs ne sont pas les mêmes dans la feuille 2 !! Pourtant on colle
bien en feuil2 les valeurs, et pas les formules !
Je ne comprends pas...
André


Re bonsoir,
Modifier comme suit :
----- module de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
cel = ActiveCell.Address
Copie_Feuil1
Range(cel).Select
Application.ScreenUpdating = True
End Sub

----- module standard
Sub Copie_Feuil1()
Application.ScreenUpdating = False
Cells.Select
Selection.Copy
Sheets("Feuil2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Range("A1").Select
Sheets("Feuil1").Select
Application.CutCopyMode = False
End Sub

C'est mieux je pense
Claude


"AB" a écrit dans le message de news:
%23%

Bonsoir à tous,
Comment faire pour recopier entièrement dans la feuille 2 les valeurs
issues des formules contenues dans la feuille 1, en faisant en sorte que
tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
feuil1, sauf qu'y figureront les valeurs, alors que les formules seront
en feuil1).
André








Avatar
AB
Oui, je crois que le problème vient de là. On peut l'empêcher en bloquant le
recalcul automatique dans les options, mais dans ce cas, la feuille 2 n'est
pas mise à jour.
Si tu connais l'instruction VBA inhibant le calcul auto, et le réactivant,
il y a peut-être un moyen de contourner la difficulté...
André

"Claude Trouet" a écrit dans le message de
news:
| Re bonsoir,
| Je crois que le problème vient du fait qu'un recalcul est effectué quand
la
| feuille 1 est réactivée.
| Pb : je ne sais pas comment empêcher cela par VBA
|
| Claude
|
| "AB" a écrit dans le message de news:
|
| > Bonsoir Philippe et Claude,
| > Philippe, ça ne peut pas marcher, car avec ta solution, je ne répercute
| > pas les déplacements de cellules.
| > Claude, ça marche, à un détail près, très curieux :
| > Les valeurs texte sont reproduites parfaitement et mises à jour.
| > En revanche, dans la feuille 1, certaines valeurs sont générées par la
| > fonction ALEA.ENTRE.BORNES
| > Ces valeurs ne sont pas les mêmes dans la feuille 2 !! Pourtant on colle
| > bien en feuil2 les valeurs, et pas les formules !
| > Je ne comprends pas...
| > André
| >
| >
| >> Re bonsoir,
| >> Modifier comme suit :
| >> ----- module de la feuille
| >> Private Sub Worksheet_Change(ByVal Target As Range)
| >> cel = ActiveCell.Address
| >> Copie_Feuil1
| >> Range(cel).Select
| >> Application.ScreenUpdating = True
| >> End Sub
| >>
| >> ----- module standard
| >> Sub Copie_Feuil1()
| >> Application.ScreenUpdating = False
| >> Cells.Select
| >> Selection.Copy
| >> Sheets("Feuil2").Select
| >> Range("A1").Select
| >> Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
| >> SkipBlanks:= _
| >> False, Transpose:úlse
| >> Range("A1").Select
| >> Sheets("Feuil1").Select
| >> Application.CutCopyMode = False
| >> End Sub
| >>
| >> C'est mieux je pense
| >> Claude
| >>
| >>
| >> "AB" a écrit dans le message de news:
| >> %23%
| >>
| >>>Bonsoir à tous,
| >>>Comment faire pour recopier entièrement dans la feuille 2 les valeurs
| >>>issues des formules contenues dans la feuille 1, en faisant en sorte
que
| >>>tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
| >>>feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
| >>>feuil1, sauf qu'y figureront les valeurs, alors que les formules seront
| >>>en feuil1).
| >>>André
| >>
| >>
|
Avatar
Frédéric Sigonneau
Bonsoir André,

Si tu connais l'instruction VBA inhibant le calcul auto


Application.Calculation = xlManual

et le réactivant,


Application.Calculation = xlAutomatic

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Oui, je crois que le problème vient de là. On peut l'empêcher en bloquant le
recalcul automatique dans les options, mais dans ce cas, la feuille 2 n'est
pas mise à jour.
Si tu connais l'instruction VBA inhibant le calcul auto, et le réactivant,
il y a peut-être un moyen de contourner la difficulté...
André

"Claude Trouet" a écrit dans le message de
news:
| Re bonsoir,
| Je crois que le problème vient du fait qu'un recalcul est effectué quand
la
| feuille 1 est réactivée.
| Pb : je ne sais pas comment empêcher cela par VBA
|
| Claude
|
| "AB" a écrit dans le message de news:
|
| > Bonsoir Philippe et Claude,
| > Philippe, ça ne peut pas marcher, car avec ta solution, je ne répercute
| > pas les déplacements de cellules.
| > Claude, ça marche, à un détail près, très curieux :
| > Les valeurs texte sont reproduites parfaitement et mises à jour.
| > En revanche, dans la feuille 1, certaines valeurs sont générées par la
| > fonction ALEA.ENTRE.BORNES
| > Ces valeurs ne sont pas les mêmes dans la feuille 2 !! Pourtant on colle
| > bien en feuil2 les valeurs, et pas les formules !
| > Je ne comprends pas...
| > André
| >
| >
| >> Re bonsoir,
| >> Modifier comme suit :
| >> ----- module de la feuille
| >> Private Sub Worksheet_Change(ByVal Target As Range)
| >> cel = ActiveCell.Address
| >> Copie_Feuil1
| >> Range(cel).Select
| >> Application.ScreenUpdating = True
| >> End Sub
| >>
| >> ----- module standard
| >> Sub Copie_Feuil1()
| >> Application.ScreenUpdating = False
| >> Cells.Select
| >> Selection.Copy
| >> Sheets("Feuil2").Select
| >> Range("A1").Select
| >> Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
| >> SkipBlanks:= _
| >> False, Transpose:úlse
| >> Range("A1").Select
| >> Sheets("Feuil1").Select
| >> Application.CutCopyMode = False
| >> End Sub
| >>
| >> C'est mieux je pense
| >> Claude
| >>
| >>
| >> "AB" a écrit dans le message de news:
| >> %23%
| >>
| >>>Bonsoir à tous,
| >>>Comment faire pour recopier entièrement dans la feuille 2 les valeurs
| >>>issues des formules contenues dans la feuille 1, en faisant en sorte
que
| >>>tout déplacement d'une cellule dans la feuille 1 soit répercuté dans la
| >>>feuille 2 ? (En fait, je veux que feuil2 soit une copie conforme de
| >>>feuil1, sauf qu'y figureront les valeurs, alors que les formules seront
| >>>en feuil1).
| >>>André
| >>
| >>
|