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

Consolidation de plusieurs feuilles

8 réponses
Avatar
bob123
Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
=3DF1!D7 =3DF1!C12 =3DF1!E8 ...
sur la 2eme ligne
=3DF2!D7 =3DF2!C12 =3DF2!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance

8 réponses

Avatar
MichD
Bonjour,

Question incompréhensible... tu dois expliquer comment sont disposées tes données dans
ta trentaine de feuilles et ce que tu veux copier dans la feuille de destination.



MichD
--------------------------------------------
"bob123" a écrit dans le message de groupe de discussion : 4d85dd13$0$10741$

Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance
Avatar
bob123
Bonjour,

désolé si je ne suis pas clair

il s'agit de récupérer sur la feuille de consolidation
une ligne par feuille
(valeur d'une cellule fixe de la feuille Fi)
NB: D7, C12, E8,... sont des constantes

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Merci

------------------------------------------------------------------------- -------------------------

"MichD" a écrit dans le message de groupe de discussion :
im4ph7$8jr$

Bonjour,

Question incompréhensible... tu dois expliquer comment sont disposées tes
données dans
ta trentaine de feuilles et ce que tu veux copier dans la feuille de
destination.



MichD
--------------------------------------------
"bob123" a écrit dans le message de groupe de discussion :
4d85dd13$0$10741$

Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance
Avatar
MichD
Tu remplaces "Feuil3" dans Set Dest = Worksheets("Feuil3") par le nom
de l'onglet de la feuille de destination.

Dans la feuille de destination, la ligne 1 demeure libre pour tes étiquettes de colonnes
Utilise celle que tu désires...

'----------------------------------------
Sub test()
Dim L As Long, N As String
Dim Sh As Worksheet, Dest As Worksheet

Set Dest = Worksheets("Feuil3")
For Each Sh In Worksheets
L = Dest.Range("A65536").End(xlUp).Row + 1
With Sh
If .Name <> Dest.Name Then
N = .Name & "!"
Sh.Range("A" & L) = .Range(N & "D7")
Sh.Range("B" & L) = .Range(N & "c12")
Sh.Range("C" & L) = .Range(N & "E8")
End If
End With
Next
End Sub
'----------------------------------------


MichD
--------------------------------------------
"bob123" a écrit dans le message de groupe de discussion : 4d860941$0$7038$

Bonjour,

désolé si je ne suis pas clair

il s'agit de récupérer sur la feuille de consolidation
une ligne par feuille
(valeur d'une cellule fixe de la feuille Fi)
NB: D7, C12, E8,... sont des constantes

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Merci

--------------------------------------------------------------------------------------------------

"MichD" a écrit dans le message de groupe de discussion :
im4ph7$8jr$

Bonjour,

Question incompréhensible... tu dois expliquer comment sont disposées tes
données dans
ta trentaine de feuilles et ce que tu veux copier dans la feuille de
destination.



MichD
--------------------------------------------
"bob123" a écrit dans le message de groupe de discussion :
4d85dd13$0$10741$

Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance
Avatar
bob123
Merci

------------------------------------------------------------------------- --------------------------

"MichD" a écrit dans le message de groupe de discussion :
im5449$1rs$

Tu remplaces "Feuil3" dans Set Dest = Worksheets("Feuil3") par le nom
de l'onglet de la feuille de destination.

Dans la feuille de destination, la ligne 1 demeure libre pour tes étiquettes
de colonnes
Utilise celle que tu désires...

'----------------------------------------
Sub test()
Dim L As Long, N As String
Dim Sh As Worksheet, Dest As Worksheet

Set Dest = Worksheets("Feuil3")
For Each Sh In Worksheets
L = Dest.Range("A65536").End(xlUp).Row + 1
With Sh
If .Name <> Dest.Name Then
N = .Name & "!"
Sh.Range("A" & L) = .Range(N & "D7")
Sh.Range("B" & L) = .Range(N & "c12")
Sh.Range("C" & L) = .Range(N & "E8")
End If
End With
Next
End Sub
'----------------------------------------


MichD
--------------------------------------------
"bob123" a écrit dans le message de groupe de discussion :
4d860941$0$7038$

Bonjour,

désolé si je ne suis pas clair

il s'agit de récupérer sur la feuille de consolidation
une ligne par feuille
(valeur d'une cellule fixe de la feuille Fi)
NB: D7, C12, E8,... sont des constantes

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Merci

------------------------------------------------------------------------- -------------------------

"MichD" a écrit dans le message de groupe de discussion :
im4ph7$8jr$

Bonjour,

Question incompréhensible... tu dois expliquer comment sont disposées tes
données dans
ta trentaine de feuilles et ce que tu veux copier dans la feuille de
destination.



MichD
--------------------------------------------
"bob123" a écrit dans le message de groupe de discussion :
4d85dd13$0$10741$

Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance
Avatar
h2so4
Bonsoir,

sans passer par une macro, tu peux utiliser la fonction indirect comme
ceci

=INDIRECT("F" & LIGNE() & "!D7") =INDIRECT("F" & LIGNE() & "!C12") ....

et recopier la ligne 1 autant de fois que nécessaire vers le bas.




bob123 used his keyboard to write :
Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance



--
h2so4
ca PAN
pique DORA
.
Avatar
bob123
Bonsoir,

ça me plait bien comme solution

si j'ai bien compris, dans ma feuille de consolidation:

en A10
je copie la formule =INDIRECT("F" & LIGNE() & "!D7")
en A11
je copie la formule =INDIRECT("F" & LIGNE() & "!C12")
...

mais comment le nom de la feuille source est choisie ?
et j'ai des #REF!

Merci de m'éclairer

------------------------------------------------------------------------- ------------------------

"h2so4" a écrit dans le message de groupe de discussion :
jjshp.84847$

Bonsoir,

sans passer par une macro, tu peux utiliser la fonction indirect comme
ceci

=INDIRECT("F" & LIGNE() & "!D7") =INDIRECT("F" & LIGNE() & "!C12") ....

et recopier la ligne 1 autant de fois que nécessaire vers le bas.




bob123 used his keyboard to write :
Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance



--
h2so4
ca PAN
pique DORA
.
Avatar
isabelle
bonjour Bob,

il faudrait plutot mettre la formule sur la ligne 1 pour la feuille "F1"

tu peut aussi mettre le nom des feuilles en colonne A, par exemple de A2:A31

et mettre la formule suivante en cellule B2
=INDIRECT("'"&A2&"'!D7")

en cellule C2
=INDIRECT("'"&A2&"'!C12")

en cellule D2
=INDIRECT("'"&A2&"'!E8")

et recopier B2:D2 vers le bas

isabelle
------------------------------------------------------------------

Le 2011-03-21 16:59, bob123 a écrit :

Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance



Avatar
h2so4
bob123 wrote on 21/03/2011 :
Bonsoir,

ça me plait bien comme solution

si j'ai bien compris, dans ma feuille de consolidation:

en A10
je copie la formule =INDIRECT("F" & LIGNE() & "!D7")



en A10 ligne() vaut 10, la formule devient après execution de la
fonction indirect, ñ0!D7, si tu veux faire référence à F1 en A10, tu
peux modifier la formule ainsi

=INDIRECT("F" & LIGNE()-9 & "!D7")

cette formule, copiée en A11 fera référence à F2, etc ...

en A11
je copie la formule =INDIRECT("F" & LIGNE() & "!C12")
...

mais comment le nom de la feuille source est choisie ?
et j'ai des #REF!



si les feuilles ont le format feuil1, feuil2, feuil3, au lieu de
F1,F2,F3,
tu dois remplacer =INDIRECT("F" ... par =INDIRECT("feuil" ...)


Merci de m'éclairer

-------------------------------------------------------------------------------------------------

"h2so4" a écrit dans le message de groupe de discussion :
jjshp.84847$

Bonsoir,

sans passer par une macro, tu peux utiliser la fonction indirect comme
ceci

=INDIRECT("F" & LIGNE() & "!D7") =INDIRECT("F" & LIGNE() & "!C12") ....

et recopier la ligne 1 autant de fois que nécessaire vers le bas.




bob123 used his keyboard to write :
Bonjour,

J'ai un classeur avec une trentaine de feuilles F1, F2 , F3 ...
j'ai une feuille de "consolidation"
dans laquelle j'ai une ligne par feuille :

sur la 1ere ligne:
ñ!D7 ñ!C12 ñ!E8 ...
sur la 2eme ligne
ò!D7 ò!C12 ò!E8 ...
etc ...

Comment je peux obtenir cela ?

Merci d'avance





--
h2so4
ca PAN
pique DORA
.