OVH Cloud OVH Cloud

récupération de tableau daté

2 réponses
Avatar
freedo
Bonjour =E0 Toutes et =E0 Tous,
Voici mon probl=E8me;
dans un tableau de A53:G103 repr=E9sentant le planning de 5=20
jours de la semaine et apr=E8s encodage des pr=E9visions=20
j'aimerais r=E9cup=E9rer les valeurs reprisent en colonnes=20
sous chaque date pour les transposer sur une ligne en face=20
des dates respectives dans une autre feuille dant les=20
dates sont en colonne B=20
les cellules c52:g52 sont des dates, exemple 16 avec la=20
formule Jour(E1) dont E1 est 16/8/2004.
donc j'ai en feuille "Moeuv":=20
c d e f g
52 16 17 18 19 20

53 3100 4059 579 3065 4001
54 4059 579 3065 579 3065
55 576 4004
56 50
.
.
103 =20
=E0 transposer dans la feuille "R=E9cap"
dont la colonne B est format=E9e en dates
A B C D E F ......
16/8/04 3100 4059 576 50
17/8/04 4059 579 4004
18/08/04 579 3065
19/08/04 3065 579
20/08/04 4001 3065
21/08/04
22/08/04
et ainsi de suite sur un calendrier continu.
.
la transposition serait avec une demande de date par=20
exemple "quel jour =E0 transposer ?
et on aurait le choix de 1 =E0 5 jours =E0 transposer.
=20
(Le tableau initial ne doit pas =EAtre vid=E9 car il peut =EAtre=20
remani=E9 en cours de semaine. =20
Merci de suivre,
freedo

2 réponses

Avatar
Nicolas B.
Salut freedo,

Un exemple (avec Copier coller spécial Transposé) :

Sub Transposer()
Dim l As Integer
Dim i As Integer
Dim j As Integer

j = InputBox("Nombre de jours (1 à 5) ?", , 5) - 1
Sheets("Moeuv").Range("C52", [C103].Offset(0, j)).Copy
With Sheets("Récap")
l = .[A1].End(xlDown)(2).Row
.Cells(l, 1).PasteSpecial Transpose:=True
For i = l To .[A1].End(xlDown).Row
.Cells(i, 1) = DateSerial(2004, 8, Cells(i, 1))
Next
End With
End Sub

Remplace les paramètres Month et Year de Dateserial par des variables
contenant les mois et année à utiliser.


A+
Nicolas B.

freedo wrote:
Bonjour à Toutes et à Tous,
Voici mon problème;
dans un tableau de A53:G103 représentant le planning de 5
jours de la semaine et après encodage des prévisions
j'aimerais récupérer les valeurs reprisent en colonnes
sous chaque date pour les transposer sur une ligne en face
des dates respectives dans une autre feuille dant les
dates sont en colonne B
les cellules c52:g52 sont des dates, exemple 16 avec la
formule Jour(E1) dont E1 est 16/8/2004.
donc j'ai en feuille "Moeuv":
c d e f g
52 16 17 18 19 20

53 3100 4059 579 3065 4001
54 4059 579 3065 579 3065
55 576 4004
56 50
..
..
103
à transposer dans la feuille "Récap"
dont la colonne B est formatée en dates
A B C D E F ......
16/8/04 3100 4059 576 50
17/8/04 4059 579 4004
18/08/04 579 3065
19/08/04 3065 579
20/08/04 4001 3065
21/08/04
22/08/04
et ainsi de suite sur un calendrier continu.
.
la transposition serait avec une demande de date par
exemple "quel jour à transposer ?
et on aurait le choix de 1 à 5 jours à transposer.

(Le tableau initial ne doit pas être vidé car il peut être
remanié en cours de semaine.
Merci de suivre,
freedo


Avatar
Bonjour Nicolas B.,
Merci pour ta rapidité à répondre; J'ai testé la macro
mais cela ne donne pas les résultats escomptés.
néanmoins j'ai essayé la création automatique de macro
pour le 1er jour et cela me donne ceci (qui marche) sauf
que celle-ci devrait faire une recherche dans la table sur
la date où il faut transposer les valeurs.
Sub transpo1()
' Macro enregistrée le 17/08/2004 par freedo
' transfert 1er jour de la semaine
'ici je suis dans la feuille "Moeuv"
Range("C53:C108").Select
Selection.Copy
Sheets("Récap").Select
Range("C18").Select ' Voila ici cela devrait faire une
recherche sur la date ...
Selection.PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("C18").Select
End Sub
Sub Transpo2()
' Macro enregistrée le 17/08/2004 par freedo
' transfert 2ème jour de la semaine
'ici je suis dans la feuille "Moeuv"
Range("D53:D108").Select
Selection.Copy
Sheets("Récap").Select
Range("C19").Select 'Voila ici cela devrait faire une
recherche sur la date ...
Selection.PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("C19").Select
Sheets("Moeuv").Select
Range("D53").Select
Application.CutCopyMode = False
End Sub
et ainsi de suite pour les 5 jours à traiter.
As-tu une idée ?
merci de suivre,
Freedo
-----Message d'origine-----
Salut freedo,

Un exemple (avec Copier coller spécial Transposé) :

Sub Transposer()
Dim l As Integer
Dim i As Integer
Dim j As Integer

j = InputBox("Nombre de jours (1 à 5) ?", , 5) - 1
Sheets("Moeuv").Range("C52", [C103].Offset(0, j)).Copy
With Sheets("Récap")
l = .[A1].End(xlDown)(2).Row
.Cells(l, 1).PasteSpecial Transpose:=True
For i = l To .[A1].End(xlDown).Row
.Cells(i, 1) = DateSerial(2004, 8, Cells(i, 1))
Next
End With
End Sub

Remplace les paramètres Month et Year de Dateserial par
des variables

contenant les mois et année à utiliser.


A+
Nicolas B.

freedo wrote:
Bonjour à Toutes et à Tous,
Voici mon problème;
dans un tableau de A53:G103 représentant le planning de
5


jours de la semaine et après encodage des prévisions
j'aimerais récupérer les valeurs reprisent en colonnes
sous chaque date pour les transposer sur une ligne en
face


des dates respectives dans une autre feuille dant les
dates sont en colonne B
les cellules c52:g52 sont des dates, exemple 16 avec la
formule Jour(E1) dont E1 est 16/8/2004.
donc j'ai en feuille "Moeuv":
c d e f g
52 16 17 18 19 20

53 3100 4059 579 3065 4001
54 4059 579 3065 579 3065
55 576 4004
56 50
..
..
103
à transposer dans la feuille "Récap"
dont la colonne B est formatée en dates
A B C D E F ......
16/8/04 3100 4059 576 50
17/8/04 4059 579 4004
18/08/04 579 3065
19/08/04 3065 579
20/08/04 4001 3065
21/08/04
22/08/04
et ainsi de suite sur un calendrier continu.
.
la transposition serait avec une demande de date par
exemple "quel jour à transposer ?
et on aurait le choix de 1 à 5 jours à transposer.

(Le tableau initial ne doit pas être vidé car il peut
être


remanié en cours de semaine.
Merci de suivre,
freedo
.