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

Macro Récup mêmes données de plusieurs feuilles

7 réponses
Avatar
PLG
Bonjour à toutes et à tous
Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
feuilles de mon fichier, sur une autre feuille.
ex : feuille de récap générale nommée RECAP
Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
Semaine1 )
En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait compte.
J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
pas ce que je souhaite.
Sans compter que je peux très bien exporter d'autres cellules.
Voili, voilou... j'espère avoir été assez clair...!
Merci à vous VBistes chevronés pour votre aide..!
J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
MERCI !

7 réponses

Avatar
MichDenis
Bonjour Plg,

As-tu essayé quelque chose comme ceci :

'-------------------------------
Sub test()
Dim Sh As Worksheet, A As Integer
For Each Sh In ThisWorkbook.Worksheets
If LCase(Sh.Name) <> "recap" Then
A = A + 1
Sh("recap").Range("A" & A) = Sh.Range("C5")
End If
Next
End Sub
'-------------------------------


"PLG" a écrit dans le message de groupe de discussion :

Bonjour à toutes et à tous
Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
feuilles de mon fichier, sur une autre feuille.
ex : feuille de récap générale nommée RECAP
Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
Semaine1 )
En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait compte.
J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
pas ce que je souhaite.
Sans compter que je peux très bien exporter d'autres cellules.
Voili, voilou... j'espère avoir été assez clair...!
Merci à vous VBistes chevronés pour votre aide..!
J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
MERCI !
Avatar
Daniel.C
Bonjour.
En A1 :
=INDIRECT("semaine"&LIGNE()&"!C5")
à recopier vers le bas.
Cordialement.
Daniel

Bonjour à toutes et à tous
Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
feuilles de mon fichier, sur une autre feuille.
ex : feuille de récap générale nommée RECAP
Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
Semaine1 )
En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait compte.
J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
pas ce que je souhaite.
Sans compter que je peux très bien exporter d'autres cellules.
Voili, voilou... j'espère avoir été assez clair...!
Merci à vous VBistes chevronés pour votre aide..!
J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
MERCI !


Avatar
Daniel.C
désolé si tu voulais du VBA, mais pourquoi ?
Daniel

Bonjour.
En A1 :
=INDIRECT("semaine"&LIGNE()&"!C5")
à recopier vers le bas.
Cordialement.
Daniel

Bonjour à toutes et à tous
Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
feuilles de mon fichier, sur une autre feuille.
ex : feuille de récap générale nommée RECAP
Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
Semaine1 )
En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait
compte.
J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
pas ce que je souhaite.
Sans compter que je peux très bien exporter d'autres cellules.
Voili, voilou... j'espère avoir été assez clair...!
Merci à vous VBistes chevronés pour votre aide..!
J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
MERCI !




Avatar
PLG
Toujours aussi vif... bonjour Michdenis

J'ai un message d'erreur 438
Propriété ou méthode non gérée par cet objet.
Si je dégogue ça m'indique cette ligne.

Sh("recap").Range("A" & A) = Sh.Range("C5")


"MichDenis" a écrit :

Bonjour Plg,

As-tu essayé quelque chose comme ceci :

'-------------------------------
Sub test()
Dim Sh As Worksheet, A As Integer
For Each Sh In ThisWorkbook.Worksheets
If LCase(Sh.Name) <> "recap" Then
A = A + 1
Sh("recap").Range("A" & A) = Sh.Range("C5")
End If
Next
End Sub
'-------------------------------


"PLG" a écrit dans le message de groupe de discussion :

Bonjour à toutes et à tous
Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
feuilles de mon fichier, sur une autre feuille.
ex : feuille de récap générale nommée RECAP
Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
Semaine1 )
En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait compte.
J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
pas ce que je souhaite.
Sans compter que je peux très bien exporter d'autres cellules.
Voili, voilou... j'espère avoir été assez clair...!
Merci à vous VBistes chevronés pour votre aide..!
J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
MERCI !




Avatar
MichDenis
Comme ceci ... désolé!
Worksheets("recap").Range("A" & A) = Sh.Range("C5")



et si tes feuilles ne sont pas par ordre croissant
semaine1 à semaine52

Sub test()
Dim Sh As Worksheet, A As Integer
Dim Nb As Integer, B As Integer

With ThisWorkbook
Nb = .Worksheets.Count
For A = 1 To Nb
If LCase(.Worksheets(A).Name) <> "recap" Then
B = B + 1
.Worksheets("Recap").Range("A" & B) = _
.Worksheets("Semaine" & A).Range("C5")
End If
Next
End With
End Sub


"PLG" a écrit dans le message de groupe de discussion :

Toujours aussi vif... bonjour Michdenis

J'ai un message d'erreur 438
Propriété ou méthode non gérée par cet objet.
Si je dégogue ça m'indique cette ligne.

Sh("recap").Range("A" & A) = Sh.Range("C5")


"MichDenis" a écrit :

Bonjour Plg,

As-tu essayé quelque chose comme ceci :

'-------------------------------
Sub test()
Dim Sh As Worksheet, A As Integer
For Each Sh In ThisWorkbook.Worksheets
If LCase(Sh.Name) <> "recap" Then
A = A + 1
Sh("recap").Range("A" & A) = Sh.Range("C5")
End If
Next
End Sub
'-------------------------------


"PLG" a écrit dans le message de groupe de discussion :

Bonjour à toutes et à tous
Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
feuilles de mon fichier, sur une autre feuille.
ex : feuille de récap générale nommée RECAP
Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
Semaine1 )
En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait compte.
J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
pas ce que je souhaite.
Sans compter que je peux très bien exporter d'autres cellules.
Voili, voilou... j'espère avoir été assez clair...!
Merci à vous VBistes chevronés pour votre aide..!
J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
MERCI !




Avatar
PLG
Bonsoir Daniel
Je n'y avais pas pensé, très bon.
... je suis tout bête, vu que je me suis déjà servi d'indirect, adresse et
ligne....!
Je te remercie bien et bonne soirée à toi.
J'attends toutefois la macro de Michdenis...
J'aurais 2 solutions.
Merci encore.

"Daniel.C" a écrit :

désolé si tu voulais du VBA, mais pourquoi ?
Daniel

> Bonjour.
> En A1 :
> =INDIRECT("semaine"&LIGNE()&"!C5")
> à recopier vers le bas.
> Cordialement.
> Daniel
>
>> Bonjour à toutes et à tous
>> Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
>> feuilles de mon fichier, sur une autre feuille.
>> ex : feuille de récap générale nommée RECAP
>> Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
>> Semaine1 )
>> En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
>> En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
>> etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
>> Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait
>> compte.
>> J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
>> pas ce que je souhaite.
>> Sans compter que je peux très bien exporter d'autres cellules.
>> Voili, voilou... j'espère avoir été assez clair...!
>> Merci à vous VBistes chevronés pour votre aide..!
>> J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
>> MERCI !





Avatar
PLG
Bah.... je savais bien que tu saurais...!
Ca marche nickel chrome !
Je te remercie beaucoup et te souhaite une bonne soirée

"MichDenis" a écrit :


Comme ceci ... désolé!
Worksheets("recap").Range("A" & A) = Sh.Range("C5")



et si tes feuilles ne sont pas par ordre croissant
semaine1 à semaine52

Sub test()
Dim Sh As Worksheet, A As Integer
Dim Nb As Integer, B As Integer

With ThisWorkbook
Nb = .Worksheets.Count
For A = 1 To Nb
If LCase(.Worksheets(A).Name) <> "recap" Then
B = B + 1
.Worksheets("Recap").Range("A" & B) = _
.Worksheets("Semaine" & A).Range("C5")
End If
Next
End With
End Sub


"PLG" a écrit dans le message de groupe de discussion :

Toujours aussi vif... bonjour Michdenis

J'ai un message d'erreur 438
Propriété ou méthode non gérée par cet objet.
Si je dégogue ça m'indique cette ligne.

Sh("recap").Range("A" & A) = Sh.Range("C5")


"MichDenis" a écrit :

> Bonjour Plg,
>
> As-tu essayé quelque chose comme ceci :
>
> '-------------------------------
> Sub test()
> Dim Sh As Worksheet, A As Integer
> For Each Sh In ThisWorkbook.Worksheets
> If LCase(Sh.Name) <> "recap" Then
> A = A + 1
> Sh("recap").Range("A" & A) = Sh.Range("C5")
> End If
> Next
> End Sub
> '-------------------------------
>
>
> "PLG" a écrit dans le message de groupe de discussion :
>
> Bonjour à toutes et à tous
> Je souhaiterais récupérer les valeurs d'une même cellule de toutes les
> feuilles de mon fichier, sur une autre feuille.
> ex : feuille de récap générale nommée RECAP
> Dans la cel A1, récupérer la valeur de la cel C5 de la feuille 1 ( nommée
> Semaine1 )
> En A2 la valeur de la cel C5 de la feuille 2 ( nommée Semaine2 )
> En A3 la valeur de la cel C5 de la feuille 3 ( nommée Semaine3 )....
> etc... j'en ai 26 actuellement, mais j'en aurai 52 à la fin de l'année.
> Au fur et à mesure que les semaines s'ajoutent, la macro en tiendrait compte.
> J'aurais pu lier les cellules de la Récap avec les feuilles.... mais c'est
> pas ce que je souhaite.
> Sans compter que je peux très bien exporter d'autres cellules.
> Voili, voilou... j'espère avoir été assez clair...!
> Merci à vous VBistes chevronés pour votre aide..!
> J'oubliais... tant que j'y suis... je souhaiterais une Sub / End Sub....
> MERCI !
>
>