Ma question est la suivante : J'ai un classeur reprenant dans différentes
feuilles les index (anciens et nouveaux) des compteurs d'une cinquantaine de
machines différentes.
Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me permette
de recopier tous les 15 jours le contenu des cellule "nouveaux index" dans
les cellules "anciens index". Les cellules n'étant pas contigües ni au même
emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par
feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click()
Dim A As Range
'INDPOK = la zone nommée reprenant les nouveaux index
For Each A In Range("INDPOK")
Selection.Copy
A.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:=False, Transpose:=False
'Efface l'ancien index qui se trouve dans la cellule juste en dessous du
nouveau
Selection.Offset(-1, 0).Select
Application.CutCopyMode = False
Selection.ClearContents
Next
End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux
index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai ravi.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
For Each c In Range("INDPOK") With c .Copy .Offset(1, 0) .ClearContents End With
ou For Each c In Range("INDPOK") With c .Copy .Offset(1, 0).PasteSpecial xlValues .ClearContents End With si on ne veut vraiment que copier les valeurs seulement
A+
Bonjour à toutes et tous,
C'est l'printemps... Quel bonheur...
Ma question est la suivante : J'ai un classeur reprenant dans différentes feuilles les index (anciens et nouveaux) des compteurs d'une cinquantaine de machines différentes. Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me permette de recopier tous les 15 jours le contenu des cellule "nouveaux index" dans les cellules "anciens index". Les cellules n'étant pas contigües ni au même emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click() Dim A As Range 'INDPOK = la zone nommée reprenant les nouveaux index For Each A In Range("INDPOK") Selection.Copy A.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse 'Efface l'ancien index qui se trouve dans la cellule juste en dessous du nouveau Selection.Offset(-1, 0).Select Application.CutCopyMode = False Selection.ClearContents Next End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai ravi.
Merci d'avance à toutes et tous.
Daniel S.
For Each c In Range("INDPOK")
With c
.Copy .Offset(1, 0)
.ClearContents
End With
ou
For Each c In Range("INDPOK")
With c
.Copy
.Offset(1, 0).PasteSpecial xlValues
.ClearContents
End With
si on ne veut vraiment que copier les valeurs seulement
A+
Bonjour à toutes et tous,
C'est l'printemps... Quel bonheur...
Ma question est la suivante : J'ai un classeur reprenant dans différentes
feuilles les index (anciens et nouveaux) des compteurs d'une cinquantaine de
machines différentes.
Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me permette
de recopier tous les 15 jours le contenu des cellule "nouveaux index" dans
les cellules "anciens index". Les cellules n'étant pas contigües ni au même
emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par
feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click()
Dim A As Range
'INDPOK = la zone nommée reprenant les nouveaux index
For Each A In Range("INDPOK")
Selection.Copy
A.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse, Transpose:úlse
'Efface l'ancien index qui se trouve dans la cellule juste en dessous du
nouveau
Selection.Offset(-1, 0).Select
Application.CutCopyMode = False
Selection.ClearContents
Next
End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux
index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai ravi.
For Each c In Range("INDPOK") With c .Copy .Offset(1, 0) .ClearContents End With
ou For Each c In Range("INDPOK") With c .Copy .Offset(1, 0).PasteSpecial xlValues .ClearContents End With si on ne veut vraiment que copier les valeurs seulement
A+
Bonjour à toutes et tous,
C'est l'printemps... Quel bonheur...
Ma question est la suivante : J'ai un classeur reprenant dans différentes feuilles les index (anciens et nouveaux) des compteurs d'une cinquantaine de machines différentes. Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me permette de recopier tous les 15 jours le contenu des cellule "nouveaux index" dans les cellules "anciens index". Les cellules n'étant pas contigües ni au même emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click() Dim A As Range 'INDPOK = la zone nommée reprenant les nouveaux index For Each A In Range("INDPOK") Selection.Copy A.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse 'Efface l'ancien index qui se trouve dans la cellule juste en dessous du nouveau Selection.Offset(-1, 0).Select Application.CutCopyMode = False Selection.ClearContents Next End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai ravi.
Merci d'avance à toutes et tous.
Daniel S.
Daniel
Merci beaucoup, Ca fonctionne impeccablement bien.
Daniel S
"anonymousA" a écrit dans le message de news:423eec13$0$823$
For Each c In Range("INDPOK") With c .Copy .Offset(1, 0) .ClearContents End With
ou For Each c In Range("INDPOK") With c .Copy .Offset(1, 0).PasteSpecial xlValues .ClearContents End With si on ne veut vraiment que copier les valeurs seulement
A+
Bonjour à toutes et tous,
C'est l'printemps... Quel bonheur...
Ma question est la suivante : J'ai un classeur reprenant dans différentes
feuilles les index (anciens et nouveaux) des compteurs d'une cinquantaine de
machines différentes. Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me permette
de recopier tous les 15 jours le contenu des cellule "nouveaux index" dans
les cellules "anciens index". Les cellules n'étant pas contigües ni au même
emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click() Dim A As Range 'INDPOK = la zone nommée reprenant les nouveaux index For Each A In Range("INDPOK") Selection.Copy A.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse 'Efface l'ancien index qui se trouve dans la cellule juste en dessous du nouveau Selection.Offset(-1, 0).Select Application.CutCopyMode = False Selection.ClearContents Next End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai ravi.
Merci d'avance à toutes et tous.
Daniel S.
Merci beaucoup,
Ca fonctionne impeccablement bien.
Daniel S
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de
news:423eec13$0$823$8fcfb975@news.wanadoo.fr...
For Each c In Range("INDPOK")
With c
.Copy .Offset(1, 0)
.ClearContents
End With
ou
For Each c In Range("INDPOK")
With c
.Copy
.Offset(1, 0).PasteSpecial xlValues
.ClearContents
End With
si on ne veut vraiment que copier les valeurs seulement
A+
Bonjour à toutes et tous,
C'est l'printemps... Quel bonheur...
Ma question est la suivante : J'ai un classeur reprenant dans
différentes
feuilles les index (anciens et nouveaux) des compteurs d'une
cinquantaine de
machines différentes.
Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me
permette
de recopier tous les 15 jours le contenu des cellule "nouveaux index"
dans
les cellules "anciens index". Les cellules n'étant pas contigües ni au
même
emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par
feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click()
Dim A As Range
'INDPOK = la zone nommée reprenant les nouveaux index
For Each A In Range("INDPOK")
Selection.Copy
A.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse, Transpose:úlse
'Efface l'ancien index qui se trouve dans la cellule juste en dessous du
nouveau
Selection.Offset(-1, 0).Select
Application.CutCopyMode = False
Selection.ClearContents
Next
End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux
index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai
ravi.
Merci beaucoup, Ca fonctionne impeccablement bien.
Daniel S
"anonymousA" a écrit dans le message de news:423eec13$0$823$
For Each c In Range("INDPOK") With c .Copy .Offset(1, 0) .ClearContents End With
ou For Each c In Range("INDPOK") With c .Copy .Offset(1, 0).PasteSpecial xlValues .ClearContents End With si on ne veut vraiment que copier les valeurs seulement
A+
Bonjour à toutes et tous,
C'est l'printemps... Quel bonheur...
Ma question est la suivante : J'ai un classeur reprenant dans différentes
feuilles les index (anciens et nouveaux) des compteurs d'une cinquantaine de
machines différentes. Chacune des feuilles à sa forme propre. J'aimerais qu'un macro me permette
de recopier tous les 15 jours le contenu des cellule "nouveaux index" dans
les cellules "anciens index". Les cellules n'étant pas contigües ni au même
emplacement d'une feuille à l'autre, j'ai essayé de nommer une zone par feuille et de la copier avec ce code-ci :
Private Sub CommandButton1_Click() Dim A As Range 'INDPOK = la zone nommée reprenant les nouveaux index For Each A In Range("INDPOK") Selection.Copy A.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse 'Efface l'ancien index qui se trouve dans la cellule juste en dessous du nouveau Selection.Offset(-1, 0).Select Application.CutCopyMode = False Selection.ClearContents Next End Sub
Le résultat est que les cellules sont mises à zéro mais que les nouveaux index ne sont pas transférés dans les cellules "anciens index.
Si quelqu'un a une solution (même complètement différente), je serai ravi.