Consolidation de plusieurs feuilles

Le
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:
=F1!D7 =F1!C12 =F1!E8
sur la 2eme ligne
=F2!D7 =F2!C12 =F2!E8
etc

Comment je peux obtenir cela ?

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23219131
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
bob123
Le #23219431
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
MichD
Le #23219491
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
bob123
Le #23219821
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
h2so4
Le #23220341
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
.
bob123
Le #23223041
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
.
isabelle
Le #23223521
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



h2so4
Le #23226061
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
.
Publicité
Poster une réponse
Anonyme