Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks: _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
enconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst7m6$q0b$1@aphrodite.grec.isp.9tel.net...
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u%23Bv1hzzDHA.2604@TK2MSFTNGP09.phx.gbl...
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks: _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks: _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
enconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks: _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
enconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst7m6$q0b$1@aphrodite.grec.isp.9tel.net...
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u%23Bv1hzzDHA.2604@TK2MSFTNGP09.phx.gbl...
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks: _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks: _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du tableau
crée par la macroM dans la feuille1, en correspondance avec les dates et
enconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "coller
avec liaison" dans la même opération... ce qui complique un peu la tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en "dur"
une formule dans ta feuille devant recevoir les
données. Après avoir rempli la première ligne avec les formules, tu n'as
qu'à recopier ces formules sur la totalité de la
plage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans les
formules) entre la première ligne de données de tes
2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de ton
tableau de destination.
Salutations!
"GilSe" a écrit dans le message de
news:bsu8v4$nl9$
Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,
juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du 29/12/03
au
04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédent
En D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" a écrit dans le message de
news:Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copieprécédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plageschangent à chaque execution de la macroM.alors que dois-je saisir dans
les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms
des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes
les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableau
crée par la macroM dans la feuille1, en correspondance avec les dates
et
enconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "coller
avec liaison" dans la même opération... ce qui complique un peu la tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en "dur"
une formule dans ta feuille devant recevoir les
données. Après avoir rempli la première ligne avec les formules, tu n'as
qu'à recopier ces formules sur la totalité de la
plage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans les
formules) entre la première ligne de données de tes
2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de ton
tableau de destination.
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bsu8v4$nl9$1@apollon.grec.isp.9tel.net...
Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,
juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du 29/12/03
au
04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédent
En D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:udvqpyzzDHA.2580@TK2MSFTNGP09.phx.gbl...
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst7m6$q0b$1@aphrodite.grec.isp.9tel.net...
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans
les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u%23Bv1hzzDHA.2604@TK2MSFTNGP09.phx.gbl...
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms
des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes
les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableau
crée par la macroM dans la feuille1, en correspondance avec les dates
et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "coller
avec liaison" dans la même opération... ce qui complique un peu la tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en "dur"
une formule dans ta feuille devant recevoir les
données. Après avoir rempli la première ligne avec les formules, tu n'as
qu'à recopier ces formules sur la totalité de la
plage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans les
formules) entre la première ligne de données de tes
2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de ton
tableau de destination.
Salutations!
"GilSe" a écrit dans le message de
news:bsu8v4$nl9$
Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,
juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du 29/12/03
au
04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédent
En D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" a écrit dans le message de
news:Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copieprécédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plageschangent à chaque execution de la macroM.alors que dois-je saisir dans
les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms
des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes
les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableau
crée par la macroM dans la feuille1, en correspondance avec les dates
et
enconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour
J'avais commencé par saisir des formules matricielles dans les cellules de
la feuille "Calcul" mais cela me paraissait bien compliqué, en particulier
pour la recopie sur les autres cellules.
Il faut que je réfléchisse un peu plus à cette solution...
Merci et bon bout d'an.
Gilles
"michdenis" a écrit dans le message de
news:Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "colleravec liaison" dans la même opération... ce qui complique un peu la tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en "dur"
une formule dans ta feuille devant recevoir lesdonnées. Après avoir rempli la première ligne avec les formules, tu n'as
qu'à recopier ces formules sur la totalité de laplage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans les
formules) entre la première ligne de données de tes2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de ton
tableau de destination.
Salutations!
"GilSe" a écrit dans le message de
news:bsu8v4$nl9$Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du 29/12/03
au04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédentEn D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" a écrit dans le message de
news:Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copieprécédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plageschangent à chaque execution de la macroM.alors que dois-je saisir dans
les"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms
desfeuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > > _False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes
lesdates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableaucrée par la macroM dans la feuille1, en correspondance avec les dates
etenconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour
J'avais commencé par saisir des formules matricielles dans les cellules de
la feuille "Calcul" mais cela me paraissait bien compliqué, en particulier
pour la recopie sur les autres cellules.
Il faut que je réfléchisse un peu plus à cette solution...
Merci et bon bout d'an.
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OAKfpc6zDHA.2116@TK2MSFTNGP11.phx.gbl...
Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "coller
avec liaison" dans la même opération... ce qui complique un peu la tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en "dur"
une formule dans ta feuille devant recevoir les
données. Après avoir rempli la première ligne avec les formules, tu n'as
qu'à recopier ces formules sur la totalité de la
plage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans les
formules) entre la première ligne de données de tes
2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de ton
tableau de destination.
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bsu8v4$nl9$1@apollon.grec.isp.9tel.net...
Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,
juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du 29/12/03
au
04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédent
En D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:udvqpyzzDHA.2580@TK2MSFTNGP09.phx.gbl...
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst7m6$q0b$1@aphrodite.grec.isp.9tel.net...
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir dans
les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u%23Bv1hzzDHA.2604@TK2MSFTNGP09.phx.gbl...
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms
des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > > _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes
les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableau
crée par la macroM dans la feuille1, en correspondance avec les dates
et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour
J'avais commencé par saisir des formules matricielles dans les cellules de
la feuille "Calcul" mais cela me paraissait bien compliqué, en particulier
pour la recopie sur les autres cellules.
Il faut que je réfléchisse un peu plus à cette solution...
Merci et bon bout d'an.
Gilles
"michdenis" a écrit dans le message de
news:Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "colleravec liaison" dans la même opération... ce qui complique un peu la tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en "dur"
une formule dans ta feuille devant recevoir lesdonnées. Après avoir rempli la première ligne avec les formules, tu n'as
qu'à recopier ces formules sur la totalité de laplage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans les
formules) entre la première ligne de données de tes2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de ton
tableau de destination.
Salutations!
"GilSe" a écrit dans le message de
news:bsu8v4$nl9$Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du 29/12/03
au04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédentEn D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" a écrit dans le message de
news:Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place mais
elles sont copiées toujours à la suite de la copieprécédente dans la feuil2. Désolé, je n'ai pas tout compris ce que tu
voulais faire... mais ceci peut te servir de départ...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plageschangent à chaque execution de la macroM.alors que dois-je saisir dans
les"Range"
Petit détail: a la fin de la macroM, la cellule active de la feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les noms
desfeuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > > _False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne toutes
lesdates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableaucrée par la macroM dans la feuille1, en correspondance avec les dates
etenconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour,
L'idée de formules matricielles est peut-être quand même à creuser..
Par exemple, la procédure ci-dessous transpose les données d'une plage
fournie
en paramètre (plage aux dimensions des tableaux que tu remplis avec ta
macro M)
en écrivant une formule matricielle dans les cellules adéquates de la
feuille
"Calcul" (attention au nom de la feuille source des données, que j'ai
présumé
être "Feuil1") :
Sub TransposeSemaine(PlageRemplieParMacroM As Range)
Dim LesDates As Range, ArrDates
Dim DateDebutSemaine&
Dim DebutTransposition$
Dim PlageCible As Range
Set LesDates = Sheets("Calcul").Range("B10:B600")
ArrDates = LesDates.Value2
DateDebutSemaine = PlageRemplieParMacroM.Range("A1").Value2
DebutTransposition = _
LesDates.Range("a" & Application.Match(DateDebutSemaine, ArrDates,
0)).Address
Set PlageCible = Sheets("Calcul").Range(DebutTransposition).Resize(7, 6)
PlageCible.FormulaArray = _
"=transpose(Feuil1!" & PlageRemplieParMacroM.Address & ")"
End Sub
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour
J'avais commencé par saisir des formules matricielles dans les cellules
de
la feuille "Calcul" mais cela me paraissait bien compliqué, en
particulier
pour la recopie sur les autres cellules.
Il faut que je réfléchisse un peu plus à cette solution...
Merci et bon bout d'an.
Gilles
"michdenis" a écrit dans le message de
news:Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "colleravec liaison" dans la même opération... ce qui complique un peu la
tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en
"dur"
une formule dans ta feuille devant recevoir lesdonnées. Après avoir rempli la première ligne avec les formules, tu
n'as
qu'à recopier ces formules sur la totalité de laplage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans
les
formules) entre la première ligne de données de tes2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de
ton
tableau de destination.
Salutations!
"GilSe" a écrit dans le message de
news:bsu8v4$nl9$Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du
29/12/03
au04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédentEn D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche
les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne
des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement
copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement
copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" a écrit dans le message de
news:Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place
mais
elles sont copiées toujours à la suite de la copieprécédente dans la feuil2. Désolé, je n'ai pas tout compris ce que
tu
voulais faire... mais ceci peut te servir de départ...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plageschangent à chaque execution de la macroM.alors que dois-je saisir
dans
les"Range"
Petit détail: a la fin de la macroM, la cellule active de la
feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans
mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les
noms
desfeuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > > > _False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin
de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous
la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne
toutes
lesdates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableaucrée par la macroM dans la feuille1, en correspondance avec les
dates
etenconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en
C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour,
L'idée de formules matricielles est peut-être quand même à creuser..
Par exemple, la procédure ci-dessous transpose les données d'une plage
fournie
en paramètre (plage aux dimensions des tableaux que tu remplis avec ta
macro M)
en écrivant une formule matricielle dans les cellules adéquates de la
feuille
"Calcul" (attention au nom de la feuille source des données, que j'ai
présumé
être "Feuil1") :
Sub TransposeSemaine(PlageRemplieParMacroM As Range)
Dim LesDates As Range, ArrDates
Dim DateDebutSemaine&
Dim DebutTransposition$
Dim PlageCible As Range
Set LesDates = Sheets("Calcul").Range("B10:B600")
ArrDates = LesDates.Value2
DateDebutSemaine = PlageRemplieParMacroM.Range("A1").Value2
DebutTransposition = _
LesDates.Range("a" & Application.Match(DateDebutSemaine, ArrDates,
0)).Address
Set PlageCible = Sheets("Calcul").Range(DebutTransposition).Resize(7, 6)
PlageCible.FormulaArray = _
"=transpose(Feuil1!" & PlageRemplieParMacroM.Address & ")"
End Sub
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour
J'avais commencé par saisir des formules matricielles dans les cellules
de
la feuille "Calcul" mais cela me paraissait bien compliqué, en
particulier
pour la recopie sur les autres cellules.
Il faut que je réfléchisse un peu plus à cette solution...
Merci et bon bout d'an.
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OAKfpc6zDHA.2116@TK2MSFTNGP11.phx.gbl...
Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "coller
avec liaison" dans la même opération... ce qui complique un peu la
tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en
"dur"
une formule dans ta feuille devant recevoir les
données. Après avoir rempli la première ligne avec les formules, tu
n'as
qu'à recopier ces formules sur la totalité de la
plage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans
les
formules) entre la première ligne de données de tes
2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de
ton
tableau de destination.
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bsu8v4$nl9$1@apollon.grec.isp.9tel.net...
Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,
juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du
29/12/03
au
04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédent
En D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche
les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne
des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement
copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement
copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:udvqpyzzDHA.2580@TK2MSFTNGP09.phx.gbl...
Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place
mais
elles sont copiées toujours à la suite de la copie
précédente dans la feuil2. Désolé, je n'ai pas tout compris ce que
tu
voulais faire... mais ceci peut te servir de départ
...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst7m6$q0b$1@aphrodite.grec.isp.9tel.net...
Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plages
changent à chaque execution de la macroM.alors que dois-je saisir
dans
les
"Range"
Petit détail: a la fin de la macroM, la cellule active de la
feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans
mon
exemple D13
Merci
Gilles
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:u%23Bv1hzzDHA.2604@TK2MSFTNGP09.phx.gbl...
Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les
noms
des
feuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > > > _
False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" <NOSWAPgilles.se@9online.fr> a écrit dans le message de
news:bst5eu$cir$1@apollon.grec.isp.9tel.net...
Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin
de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous
la
forme
JJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne
toutes
les
dates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableau
crée par la macroM dans la feuille1, en correspondance avec les
dates
et
en
conservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en
C40:G47
avec
liaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles
Bonjour,
L'idée de formules matricielles est peut-être quand même à creuser..
Par exemple, la procédure ci-dessous transpose les données d'une plage
fournie
en paramètre (plage aux dimensions des tableaux que tu remplis avec ta
macro M)
en écrivant une formule matricielle dans les cellules adéquates de la
feuille
"Calcul" (attention au nom de la feuille source des données, que j'ai
présumé
être "Feuil1") :
Sub TransposeSemaine(PlageRemplieParMacroM As Range)
Dim LesDates As Range, ArrDates
Dim DateDebutSemaine&
Dim DebutTransposition$
Dim PlageCible As Range
Set LesDates = Sheets("Calcul").Range("B10:B600")
ArrDates = LesDates.Value2
DateDebutSemaine = PlageRemplieParMacroM.Range("A1").Value2
DebutTransposition = _
LesDates.Range("a" & Application.Match(DateDebutSemaine, ArrDates,
0)).Address
Set PlageCible = Sheets("Calcul").Range(DebutTransposition).Resize(7, 6)
PlageCible.FormulaArray = _
"=transpose(Feuil1!" & PlageRemplieParMacroM.Address & ")"
End Sub
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour
J'avais commencé par saisir des formules matricielles dans les cellules
de
la feuille "Calcul" mais cela me paraissait bien compliqué, en
particulier
pour la recopie sur les autres cellules.
Il faut que je réfléchisse un peu plus à cette solution...
Merci et bon bout d'an.
Gilles
"michdenis" a écrit dans le message de
news:Bonjour Gilles,
A ) le type de procédure que je t'ai soumise ne peut faire un collage
spécial avec les options "Transposition" et "colleravec liaison" dans la même opération... ce qui complique un peu la
tâche !
B ) Si tu tiens vraiment à la "liaison", pourquoi ne pas entrer en
"dur"
une formule dans ta feuille devant recevoir lesdonnées. Après avoir rempli la première ligne avec les formules, tu
n'as
qu'à recopier ces formules sur la totalité de laplage. À chaque fois que tu entreras tes données, l'autre feuille se
mettra à jour automatiquement et immédiatement.
La formule pourrait ressembler à ceci :
=SI(Feuil1!A4<>"";Feuil1!A4;"")
Tu dois établir une correspondance adéquate (les bonnes adresses dans
les
formules) entre la première ligne de données de tes2 tableaux. Après, tu pourras recopier les formules sous l'ensemble de
ton
tableau de destination.
Salutations!
"GilSe" a écrit dans le message de
news:bsu8v4$nl9$Bonjour
Rentrons un peu plus dans les détails:
Dans ma feuille1, j'ai de multiples tableaux comportant une ligne de 7
cellules avec des dates sous la forme JJ/MM/AAAA, et 5 lignes de 7
cellules,juste au dessous, comportant des données:
Exemple: Un tableau en D106:J111 avec en D106:J106 les dates du
29/12/03
au04/01/2004 et en D107:J111 des données
Un tableau en D113:J118 avec en D113:J113 les dates du
05/01/04 au 11/01/2004 et en D114:J118 d'autres données
La macroM crée un tableau à la suite de ma feuille1:
Si j'execute la macro M, un nouveau tableau est crée à la suite du
précédentEn D120:J120 les 7 jours de la semaine du 12/01/2004 au 18/01/2004
En D121:J125 de nouvelles données
Je souhaite qu'à chaque execution de la macro M, une macroT recherche
les
dates correspondantes dans la colonne B:B de la feuille"Calcul", puis
recopie les données transposées avec liaison ( à droite de la colonne
des
dates ):
Suite de l'exemple
Dans la feuille"Calcul"
En B10:B600 les dates du 30/11/2003au 12/07/2005
Les données en D121:J125 de la feuille1 sont alors automatiquement
copiées
et transposées avec liaison dans la feuille de calcul en C53:G59
Si je reexecute la macroM, un nouveau tableau est donc crée
En D127:J127 les 7 jours de la semaine du 19/01/2004 au 25/01/2004
En D128:J132 de nouvelles données
Les données en D128:J132 de la feuille1 sont alors automatiquement
copiées
et transposées avec liaison dans la feuille de calcul en C60:G66
Etc...
Encore merci
Gilles
"michdenis" a écrit dans le message de
news:Bonjour GilSe,
Il y a ceci : Les données en feuil1 sont toujours à la même place
mais
elles sont copiées toujours à la suite de la copieprécédente dans la feuil2. Désolé, je n'ai pas tout compris ce que
tu
voulais faire... mais ceci peut te servir de départ...
'----------------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("D13:J18").Copy
With Worksheets("Feuil2")
A = .Range("c65536").End(xlUp)(2).Row
With .Range("C" & A)
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone _
, SkipBlanks:úlse, Transpose:=True
End With
End With
End With
Application.CutCopyMode = False
End Sub
'----------------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst7m6$q0b$Bonsoir
Je vois un peu le principe mais je ne suis pas un expert en VBA; mes
plageschangent à chaque execution de la macroM.alors que dois-je saisir
dans
les"Range"
Petit détail: a la fin de la macroM, la cellule active de la
feuille1
correspond au 1er jour de la semaine du nouveau tableau, soit dans
mon
exemple D13
Merci
Gilles
"michdenis" a écrit dans le message de
news:u%Bonsoir GilSe,
Le principe de la chose est la suivante : tu devras adapter les
noms
desfeuilles et des plages de cellules :
'------------------------
Sub CopierAvecLiaison()
With Worksheets("Feuil1")
.Range("A1:A10").Copy
With Worksheets("Feuil2").Range("A1")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks: > > > _False, Transpose:=True
End With
End With
Application.CutCopyMode = False
End Sub
'------------------------
Salutations!
"GilSe" a écrit dans le message de
news:bst5eu$cir$Bonjour à tous
Dans la feuille 1, jai une macroM qui génére un tableau à la fin
de la
feuille avec
-une ligne de 7 cellules comportant les 7 jours de la semaine sous
la
formeJJ/MM/AAAA et juste en dessous
-5 lignes de 7 cellules comportant des données
Dans la feuille 2 (nommé "Calcul") j'ai dans la 2ème colonne
toutes
lesdates de plusieurs années.
Je souhaite dans la feuille 2 "Calcul" les données transposés du
tableaucrée par la macroM dans la feuille1, en correspondance avec les
dates
etenconservant une liaison
Exemple:
Dans la feuille1, la macroM crée:
En D13:J13 les 7 jours du 05/01/2004 au 11/01/2004
En D14:J18 les données
Dans la feuille2
En B:B toutes les dates avec par exemple en B40:B47 du
05/01/2004 au 11/01/2004
Résultat de la macroT:
Les données de la feuille1 D14:J18 sont transposées en
C40:G47
avecliaison
J'espère être clair
D'avance merci car je ne trouve pas la solution.
Gilles