Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de recopie de cellules

8 réponses
Avatar
Manu Puig
Bonjour à tous, j'ai un problème de recopie de cellules dans une autre
feuille que je sais pas maitriser :

Dans une feuille appelée M3, j'ai 2 colonnes :
Date + Nombre, avec 3 valeurs par date. Exemple :

27/11/06 16:12 0,59 Cellules A2 B2
27/11/06 19:37 1,05 Cellules A3 B3
27/11/06 20:06 0,79 Cellules A4 B4

28/11/06 09:53 0,85 Cellules A5 B5
28/11/06 12:50 1,25 Cellules A6 B7
28/11/06 20:12 1,00 Cellules A7 B7

Je veux les recopier dans une nouvelle feuille selon cette disposition :

27/11/06 0,59 1,05 0,79 Cellules M3!A2 B2 B3 M3!B4
28/11/06 0,85 1,25 1,00 Cellules M3!A5 B5 B6 M3!B7
29/11/06 1,03 1,29 0,95 Cellules M3!A8 B8 B9 M3!B10

Je voudrais recopier les données pour que chaque nouvelle ligne se décale de
3 cellules...

J'espère avoir été assez clair dans l'exposé de mon problème...

Merci de votre aide pour toute piste ou solution.

Manuel

8 réponses

Avatar
MichDenis
Il y a ceci :

'---------------------------
Sub test()
Dim Rg As Range, RgCopie As Range

'Feuille source
With Worksheets("M3")
Set Rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
End With

'Feuille de destination : Nom à adapter à ton application
With Worksheets("Feuil2")
Set RgCopie = .Range("A2").Resize(Rg.Rows.Count * 3)
End With

x = -1
For Each r In Rg.Rows
x = x + 3
r.Copy RgCopie(x)
Next

End Sub
'---------------------------



"Manu Puig" a écrit dans le message de news:
O9C6$
Bonjour à tous, j'ai un problème de recopie de cellules dans une autre
feuille que je sais pas maitriser :

Dans une feuille appelée M3, j'ai 2 colonnes :
Date + Nombre, avec 3 valeurs par date. Exemple :

27/11/06 16:12 0,59 Cellules A2 B2
27/11/06 19:37 1,05 Cellules A3 B3
27/11/06 20:06 0,79 Cellules A4 B4

28/11/06 09:53 0,85 Cellules A5 B5
28/11/06 12:50 1,25 Cellules A6 B7
28/11/06 20:12 1,00 Cellules A7 B7

Je veux les recopier dans une nouvelle feuille selon cette disposition :

27/11/06 0,59 1,05 0,79 Cellules M3!A2 B2 B3 M3!B4
28/11/06 0,85 1,25 1,00 Cellules M3!A5 B5 B6 M3!B7
29/11/06 1,03 1,29 0,95 Cellules M3!A8 B8 B9 M3!B10

Je voudrais recopier les données pour que chaque nouvelle ligne se décale de
3 cellules...

J'espère avoir été assez clair dans l'exposé de mon problème...

Merci de votre aide pour toute piste ou solution.

Manuel
Avatar
Manu Puig
Merci, mais ça ne marche pas.

Les cellules se recopient à la verticale séparées de 3 lignes, et non à
l'horizontale.

Je voudrais que les séries de 3 cellules verticales se replacent à
l'horizontale à la même ligne, c'est à dire que la série
=M3!A2, =M3!B2, =M3!B3, =M3!B4
devienne
=M3!A5, =M3!B5, =M3!B5, =M3!B5

Une précision, je travaille avec Excel 2000. Merci de ton aide !

"MichDenis" a écrit dans le message de
news:
Il y a ceci :

'---------------------------
Sub test()
Dim Rg As Range, RgCopie As Range

'Feuille source
With Worksheets("M3")
Set Rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
End With

'Feuille de destination : Nom à adapter à ton application
With Worksheets("Feuil2")
Set RgCopie = .Range("A2").Resize(Rg.Rows.Count * 3)
End With

x = -1
For Each r In Rg.Rows
x = x + 3
r.Copy RgCopie(x)
Next

End Sub
'---------------------------



"Manu Puig" a écrit dans le message de news:
O9C6$
Bonjour à tous, j'ai un problème de recopie de cellules dans une autre
feuille que je sais pas maitriser :

Dans une feuille appelée M3, j'ai 2 colonnes :
Date + Nombre, avec 3 valeurs par date. Exemple :

27/11/06 16:12 0,59 Cellules A2 B2
27/11/06 19:37 1,05 Cellules A3 B3
27/11/06 20:06 0,79 Cellules A4 B4

28/11/06 09:53 0,85 Cellules A5 B5
28/11/06 12:50 1,25 Cellules A6 B7
28/11/06 20:12 1,00 Cellules A7 B7

Je veux les recopier dans une nouvelle feuille selon cette disposition :

27/11/06 0,59 1,05 0,79 Cellules M3!A2 B2 B3 M3!B4
28/11/06 0,85 1,25 1,00 Cellules M3!A5 B5 B6 M3!B7
29/11/06 1,03 1,29 0,95 Cellules M3!A8 B8 B9 M3!B10

Je voudrais recopier les données pour que chaque nouvelle ligne se décale
de

3 cellules...

J'espère avoir été assez clair dans l'exposé de mon problème...

Merci de votre aide pour toute piste ou solution.

Manuel







Avatar
Manu Puig
Bonsoir,
je vais simplifier (???) mon problème :

Comment faire pour recopier une cellule en incrémentant son indice de 3 :

1ere Ligne : =M3!A2
2eme Ligne : =M3!A5
3eme Ligne : =M3!A8
4eme Ligne : =M3!A11

Si je peux faire ça par simple recopie, c'est top !!!

Par avance merci de votre aide.


"Manu Puig" a écrit dans le message de
news:O9C6$
Bonjour à tous, j'ai un problème de recopie de cellules dans une autre
feuille que je sais pas maitriser :

Dans une feuille appelée M3, j'ai 2 colonnes :
Date + Nombre, avec 3 valeurs par date. Exemple :

27/11/06 16:12 0,59 Cellules A2 B2
27/11/06 19:37 1,05 Cellules A3 B3
27/11/06 20:06 0,79 Cellules A4 B4

28/11/06 09:53 0,85 Cellules A5 B5
28/11/06 12:50 1,25 Cellules A6 B7
28/11/06 20:12 1,00 Cellules A7 B7

Je veux les recopier dans une nouvelle feuille selon cette disposition :

27/11/06 0,59 1,05 0,79 Cellules M3!A2 B2 B3 M3!B4
28/11/06 0,85 1,25 1,00 Cellules M3!A5 B5 B6 M3!B7
29/11/06 1,03 1,29 0,95 Cellules M3!A8 B8 B9 M3!B10

Je voudrais recopier les données pour que chaque nouvelle ligne se décale
de

3 cellules...

J'espère avoir été assez clair dans l'exposé de mon problème...

Merci de votre aide pour toute piste ou solution.

Manuel






Avatar
MichDenis
Essaie ceci :

'---------------------------------------
Sub test()
Dim Rg As Range, A As Long, B as Integer
Dim CurrentCell As Range
Dim NextCell As Range
Dim Sh As Worksheet

'Feuil2 = Feuille de destintation, à adapter
Set Sh = ThisWorkbook.Worksheets("Feuil2")

'Feuille source
With Worksheets("Feuil1") 'Nom feuille à adapter
Set Rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
End With
Rg.Sort key1:=Rg(1), Header:=xlNo

Set CurrentCell = Rg(1)
a = 2
Do While CurrentCell <> ""
Set NextCell = CurrentCell.Offset(1)
If CLng(NextCell) = CLng(CurrentCell) Then
b = b + 1
If b = 1 Then
Sh.Range("A" & a) = CurrentCell
End If
Sh.Range("A" & a).Offset(, b).Value = CurrentCell.Offset(, 1)
Set CurrentCell = NextCell
Else
b = b + 1
Sh.Range("A" & a) = CurrentCell
Sh.Range("A" & a).Offset(, b) = CurrentCell.Offset(, 1)
a = a + 3
b = 0
Set CurrentCell = NextCell
End If
Loop

End Sub
'---------------------------------------



"Manu Puig" a écrit dans le message de news:

Merci, mais ça ne marche pas.

Les cellules se recopient à la verticale séparées de 3 lignes, et non à
l'horizontale.

Je voudrais que les séries de 3 cellules verticales se replacent à
l'horizontale à la même ligne, c'est à dire que la série
=M3!A2, =M3!B2, =M3!B3, =M3!B4
devienne
=M3!A5, =M3!B5, =M3!B5, =M3!B5

Une précision, je travaille avec Excel 2000. Merci de ton aide !

"MichDenis" a écrit dans le message de
news:
Il y a ceci :

'---------------------------
Sub test()
Dim Rg As Range, RgCopie As Range

'Feuille source
With Worksheets("M3")
Set Rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
End With

'Feuille de destination : Nom à adapter à ton application
With Worksheets("Feuil2")
Set RgCopie = .Range("A2").Resize(Rg.Rows.Count * 3)
End With

x = -1
For Each r In Rg.Rows
x = x + 3
r.Copy RgCopie(x)
Next

End Sub
'---------------------------



"Manu Puig" a écrit dans le message de news:
O9C6$
Bonjour à tous, j'ai un problème de recopie de cellules dans une autre
feuille que je sais pas maitriser :

Dans une feuille appelée M3, j'ai 2 colonnes :
Date + Nombre, avec 3 valeurs par date. Exemple :

27/11/06 16:12 0,59 Cellules A2 B2
27/11/06 19:37 1,05 Cellules A3 B3
27/11/06 20:06 0,79 Cellules A4 B4

28/11/06 09:53 0,85 Cellules A5 B5
28/11/06 12:50 1,25 Cellules A6 B7
28/11/06 20:12 1,00 Cellules A7 B7

Je veux les recopier dans une nouvelle feuille selon cette disposition :

27/11/06 0,59 1,05 0,79 Cellules M3!A2 B2 B3 M3!B4
28/11/06 0,85 1,25 1,00 Cellules M3!A5 B5 B6 M3!B7
29/11/06 1,03 1,29 0,95 Cellules M3!A8 B8 B9 M3!B10

Je voudrais recopier les données pour que chaque nouvelle ligne se décale
de

3 cellules...

J'espère avoir été assez clair dans l'exposé de mon problème...

Merci de votre aide pour toute piste ou solution.

Manuel







Avatar
garnote
Salut,

Peut-être que :

=INDIRECT("'M3'!A"&3*LIGNE()-(3*LIGNE($D$11)-2))

$D$11 : Adresse de la cellule contenant la formule que tu veux
recopier vers le bas. Si tu mets la formule dans une autre cellule,
il te faut changer l'adresse.

Serge

"Manu Puig" a écrit dans le message de news:
Bonsoir,
je vais simplifier (???) mon problème :

Comment faire pour recopier une cellule en incrémentant son indice de 3 :

1ere Ligne : =M3!A2
2eme Ligne : =M3!A5
3eme Ligne : =M3!A8
4eme Ligne : =M3!A11

Si je peux faire ça par simple recopie, c'est top !!!

Par avance merci de votre aide.


"Manu Puig" a écrit dans le message de
news:O9C6$
Bonjour à tous, j'ai un problème de recopie de cellules dans une autre
feuille que je sais pas maitriser :

Dans une feuille appelée M3, j'ai 2 colonnes :
Date + Nombre, avec 3 valeurs par date. Exemple :

27/11/06 16:12 0,59 Cellules A2 B2
27/11/06 19:37 1,05 Cellules A3 B3
27/11/06 20:06 0,79 Cellules A4 B4

28/11/06 09:53 0,85 Cellules A5 B5
28/11/06 12:50 1,25 Cellules A6 B7
28/11/06 20:12 1,00 Cellules A7 B7

Je veux les recopier dans une nouvelle feuille selon cette disposition :

27/11/06 0,59 1,05 0,79 Cellules M3!A2 B2 B3 M3!B4
28/11/06 0,85 1,25 1,00 Cellules M3!A5 B5 B6 M3!B7
29/11/06 1,03 1,29 0,95 Cellules M3!A8 B8 B9 M3!B10

Je voudrais recopier les données pour que chaque nouvelle ligne se décale
de

3 cellules...

J'espère avoir été assez clair dans l'exposé de mon problème...

Merci de votre aide pour toute piste ou solution.

Manuel










Avatar
Manu Puig
Merci pour votre aide à tous

Comme je n'ai pas réussi à faire fonctionner correctement vos propositions,
je vais prendre mon courage à 2 mains et entrer les données directement dans
les cellules...

Manuel
Avatar
garnote
Salut Manuel,

Si tu veux, tu peux m'envoyer ton document
à cette adresse (Enlève ENLEVER.) avec
un petit mot d'explication.


Serge

"Manu Puig" a écrit dans le message de news:
Merci pour votre aide à tous

Comme je n'ai pas réussi à faire fonctionner correctement vos propositions,
je vais prendre mon courage à 2 mains et entrer les données directement dans
les cellules...

Manuel




Avatar
garnote
Et pour copier sur une même ligne une donnée sur trois
à partir de ta plage verticale A2:Ax :

$E$2 : Adresse de la cellule dans laquelle tu colles la formule.
=INDIRECT("'M3'!A"&3*COLONNE()-(3*COLONNE($E$2)-2))

Serge


"garnote" a écrit dans le message de news:
Salut Manuel,

Si tu veux, tu peux m'envoyer ton document
à cette adresse (Enlève ENLEVER.) avec
un petit mot d'explication.


Serge

"Manu Puig" a écrit dans le message de news:
Merci pour votre aide à tous

Comme je n'ai pas réussi à faire fonctionner correctement vos propositions,
je vais prendre mon courage à 2 mains et entrer les données directement dans
les cellules...

Manuel