OVH Cloud OVH Cloud

incrémenter une copie d'une ligne

3 réponses
Avatar
michele
Bonjour,

J'ai réalisé la macro automatique suivante :

Range("E31").Select
Selection.copy
sheets("feuille1").select
*(voir plus bas)
Range("D78").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:=False,Transpose:=False
Range("H78") Select
Application.CutCopyMode = False
Selection.copy
Sheets("Feuille 2").Select
Range("M15").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:=False,Transpose:=False
sheets("feuille1").select
etc....

Cette macro me permet donc de copier le contenu de E31 (feuille1) dans D78
(feuille2) où des calculs sont effectués et les résultats H78 (feuille2)
copiés et collés en M15 (feuille1)
Je souhaite donc modifier cette macro de telle sorte que, en fonction d'une
valeur saisie en A1 sur feuille1 et variant de 1 à 12, les cellules D78 et
H78, deviennent D79 et H79 puis D80 et H80, c'est à dire s'incrémentent
automatiquement de la valeur de A1

J'ai essayé la (*) un truc qui disait :
Ligne =[A1]
Cells(ligne + 77, 4).Select (Pour selectionne la ligne 77 + valeur de
A1, colonne 4)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:=False,Transpose:=False

mais ça ne marche pas.

A l'aide ............!!!!!!!!!!!!!!
Merci et bonne journée

Michèle

3 réponses

Avatar
Olivier Pont [MS]
dim f1c1, f1r1, f2c1, f2r1, f2c2, f2r2 as integer 'f1c1,f1r1 = colonne,
ligne sur feuille1

'f2c1,f2r1 = colonne (D) , ligne sur feuille2

'f2c2,f2r2 = colonne (H), ligne sur feuille2
dim f1c2,f1r2 as integer
'f1c2,f1r2=colonne(M), ligne (15) sur feuille1
dim offset as integer

f1c1=5 'colonne E
f1r11 'ligne 31
f1c2 'colonne M
f1r2 'ligne 15
f2c1=4 'colonne D
f2c2=8 'colonne H
offset=sheet("feuil1").cells(1,1).value ' valeur de A1 : entre 1 et 12
f2r1w+offset 'ligne pour la colonne D
f2r2w+offset ' ligne pour la colonne H
valeur=sheet("feuil1").cells(f1r,f1c).value 'recopier E31 de
feuille1...
sheet("feuil2").cells(f2r1,f2c1).value=valeur '... dans Dxx de
feuille2
valeur2=sheet("feuil2").cells(f2r2,f2c2).value ' recopier Hxx de
feuille2...
sheet("feuil1").cells(f1r2,f1c2).value=valeur2 '... dans M15 de
feuille1

voila.... je crois que c'est bon !
Allez, un petit aspegic et on y retourne ;-) !

hth
Olivier Pont


"michele" a écrit dans le message de
news:
Bonjour,

J'ai réalisé la macro automatique suivante :

Range("E31").Select
Selection.copy
sheets("feuille1").select
*(voir plus bas)
Range("D78").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse
Range("H78") Select
Application.CutCopyMode = False
Selection.copy
Sheets("Feuille 2").Select
Range("M15").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse
sheets("feuille1").select
etc....

Cette macro me permet donc de copier le contenu de E31 (feuille1) dans D78
(feuille2) où des calculs sont effectués et les résultats H78 (feuille2)
copiés et collés en M15 (feuille1)
Je souhaite donc modifier cette macro de telle sorte que, en fonction
d'une

valeur saisie en A1 sur feuille1 et variant de 1 à 12, les cellules D78 et
H78, deviennent D79 et H79 puis D80 et H80, c'est à dire s'incrémentent
automatiquement de la valeur de A1

J'ai essayé la (*) un truc qui disait :
Ligne =[A1]
Cells(ligne + 77, 4).Select (Pour selectionne la ligne 77 + valeur de
A1, colonne 4)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse

mais ça ne marche pas.

A l'aide ............!!!!!!!!!!!!!!
Merci et bonne journée

Michèle






Avatar
michele
Bonsoir
Merci,
....il ne me reste plus qu'à déchiffrer !
Je te tiens au courant, et te décerne d'ores et déjà la médaille du mérite
pour avoir su déchiffrer mon problème et t'y être attelé car, en effet, la
solution ne semble pas toute simple. (ça c'est pour me donner des excuses de
ne l'avoir pas trouvée).
Bonne soirée

Michèle

"Olivier Pont [MS]" a écrit dans le
message de news:
dim f1c1, f1r1, f2c1, f2r1, f2c2, f2r2 as integer 'f1c1,f1r1 colonne,
ligne sur feuille1

'f2c1,f2r1 = colonne (D) , ligne sur feuille2

'f2c2,f2r2 = colonne (H), ligne sur feuille2
dim f1c2,f1r2 as integer
'f1c2,f1r2=colonne(M), ligne (15) sur feuille1
dim offset as integer

f1c1=5 'colonne E
f1r11 'ligne 31
f1c2 'colonne M
f1r2 'ligne 15
f2c1=4 'colonne D
f2c2=8 'colonne H
offset=sheet("feuil1").cells(1,1).value ' valeur de A1 : entre 1 et
12

f2r1w+offset 'ligne pour la colonne
D

f2r2w+offset ' ligne pour la
colonne H

valeur=sheet("feuil1").cells(f1r,f1c).value 'recopier E31
de

feuille1...
sheet("feuil2").cells(f2r1,f2c1).value=valeur '... dans Dxx de
feuille2
valeur2=sheet("feuil2").cells(f2r2,f2c2).value ' recopier Hxx de
feuille2...
sheet("feuil1").cells(f1r2,f1c2).value=valeur2 '... dans M15 de
feuille1

voila.... je crois que c'est bon !
Allez, un petit aspegic et on y retourne ;-) !

hth
Olivier Pont


"michele" a écrit dans le message de
news:
Bonjour,

J'ai réalisé la macro automatique suivante :

Range("E31").Select
Selection.copy
sheets("feuille1").select
*(voir plus bas)
Range("D78").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse
Range("H78") Select
Application.CutCopyMode = False
Selection.copy
Sheets("Feuille 2").Select
Range("M15").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse
sheets("feuille1").select
etc....

Cette macro me permet donc de copier le contenu de E31 (feuille1) dans
D78


(feuille2) où des calculs sont effectués et les résultats H78
(feuille2)


copiés et collés en M15 (feuille1)
Je souhaite donc modifier cette macro de telle sorte que, en fonction
d'une

valeur saisie en A1 sur feuille1 et variant de 1 à 12, les cellules
D78 et


H78, deviennent D79 et H79 puis D80 et H80, c'est à dire
s'incrémentent


automatiquement de la valeur de A1

J'ai essayé la (*) un truc qui disait :
Ligne =[A1]
Cells(ligne + 77, 4).Select (Pour selectionne la ligne 77 + valeur
de


A1, colonne 4)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse

mais ça ne marche pas.

A l'aide ............!!!!!!!!!!!!!!
Merci et bonne journée

Michèle










Avatar
Olivier Pont [MS]
Bonjour Michèle,
Il n'y a pas de quoi, le problème n'est pas si ardu qu'il en a l'air.
Malheureusement ma mise en forme apparaît n'importe comment sur le message !
Quelques précisions :
le caractère "apostrophe" ( ' ) marque le début d'un commentaire.
Par je ne sais quel miracle il a été prfois remplacé par une virgule !
Reprends plutot ce code ci-dessous ; je te le formate pour que tu n'aies
plus qu'à le copier/coller

sub main
dim f1c1, f1r1 as integer 'f1c1,f1r1 = colonne, ligne sur feuille1
dim f2c1,f2r1 as integer 'f2c1,d2r1 = colonne (D) , ligne sur feuille2
dim f2c2, f2r2 as integer 'f2c2,f2r2 = colonne (H), ligne sur feuille2
dim f1c2,f1r2 as integer 'f1c2,f1r2=colonne(M), ligne (15) sur feuille1
dim offset as integer
f1c1=5 'colonne E
f1r11 'ligne 31
f1c2 'colonne M
f1r2 'ligne 15
f2c1=4 'colonne D
f2c2=8 'colonne H
offset=sheet("feuil1").cells(1,1).value ' valeur de A1 : entre 1 et 12
f2r1w+offset 'ligne pour la colonne D
f2r2w+offset ' ligne pour la colonne H
valeur=sheet("feuil1").cells(f1r,f1c).value 'Recopier E31 de
feuille1...
sheet("feuil2").cells(f2r1,f2c1).value=valeur '... dans Dxx de feuille2
valeur2=sheet("feuil2").cells(f2r2,f2c2).value ' Recopier Hxx de
feuille2...
sheet("feuil1").cells(f1r2,f1c2).value=valeur2 '... dans M15 de feuille1
end sub

tiens-nous au courant !
@+
Olivier Pont

"michele" a écrit dans le message de
news:
Bonsoir
Merci,
....il ne me reste plus qu'à déchiffrer !
Je te tiens au courant, et te décerne d'ores et déjà la médaille du
mérite

pour avoir su déchiffrer mon problème et t'y être attelé car, en effet, la
solution ne semble pas toute simple. (ça c'est pour me donner des excuses
de

ne l'avoir pas trouvée).
Bonne soirée

Michèle

"Olivier Pont [MS]" a écrit dans le
message de news:
dim f1c1, f1r1, f2c1, f2r1, f2c2, f2r2 as integer 'f1c1,f1r1 > colonne,
ligne sur feuille1

'f2c1,f2r1 = colonne (D) , ligne sur feuille2

'f2c2,f2r2 = colonne (H), ligne sur feuille2
dim f1c2,f1r2 as integer
'f1c2,f1r2=colonne(M), ligne (15) sur feuille1
dim offset as integer

f1c1=5 'colonne E
f1r11 'ligne 31
f1c2 'colonne M
f1r2 'ligne 15
f2c1=4 'colonne D
f2c2=8 'colonne H
offset=sheet("feuil1").cells(1,1).value ' valeur de A1 : entre 1 et
12

f2r1w+offset 'ligne pour la
colonne


D
f2r2w+offset ' ligne pour la
colonne H

valeur=sheet("feuil1").cells(f1r,f1c).value 'recopier
E31


de
feuille1...
sheet("feuil2").cells(f2r1,f2c1).value=valeur '... dans Dxx
de


feuille2
valeur2=sheet("feuil2").cells(f2r2,f2c2).value ' recopier Hxx
de


feuille2...
sheet("feuil1").cells(f1r2,f1c2).value=valeur2 '... dans M15 de
feuille1

voila.... je crois que c'est bon !
Allez, un petit aspegic et on y retourne ;-) !

hth
Olivier Pont


"michele" a écrit dans le message de
news:
Bonjour,

J'ai réalisé la macro automatique suivante :

Range("E31").Select
Selection.copy
sheets("feuille1").select
*(voir plus bas)
Range("D78").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse
Range("H78") Select
Application.CutCopyMode = False
Selection.copy
Sheets("Feuille 2").Select
Range("M15").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse
sheets("feuille1").select
etc....

Cette macro me permet donc de copier le contenu de E31 (feuille1)
dans



D78
(feuille2) où des calculs sont effectués et les résultats H78
(feuille2)


copiés et collés en M15 (feuille1)
Je souhaite donc modifier cette macro de telle sorte que, en
fonction



d'une
valeur saisie en A1 sur feuille1 et variant de 1 à 12, les cellules
D78 et


H78, deviennent D79 et H79 puis D80 et H80, c'est à dire
s'incrémentent


automatiquement de la valeur de A1

J'ai essayé la (*) un truc qui disait :
Ligne =[A1]
Cells(ligne + 77, 4).Select (Pour selectionne la ligne 77 +
valeur



de
A1, colonne 4)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:úlse,Transpose:úlse

mais ça ne marche pas.

A l'aide ............!!!!!!!!!!!!!!
Merci et bonne journée

Michèle