Choix de feuille et extraction données en VBA

Le
PLG
Bonjour

Voici mon code qui me convient très bien, mais
Sub extract3()
Range("C10:F32").Select
Selection.ClearContents
Range("C5").Select
Sheets("1").Activate
i = 0
For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
If c = Sheets("Recup").Range("C5") Then
Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
i = i + 1
End If
Next
Sheets("Recup").Select
Range("A1").Select
End Sub

Mais voilà il va chercher les données (d'après C5 en feuille "Recap") de
la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
souhaiterais, aller chercher les mêmes données + celles de la col E et
pouvoir d'après un autre critère aller sur la feuille nommée "2" ou "3".. etc
( en fait j'en ai 45 ).

Je joins mon fichier exemple
http://cjoint.com/?crn2hem3IY

Merci à celui qui me dépannera.
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
JPMonnier
Le #18679881
Bonjour; en ajoutant la ligne Sheets("Recup").Cells(10 ....
Si j'ai bien compris, ça devrait convenir

Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
--
Cordialement


"PLG" news:
Bonjour

Voici mon code qui me convient très bien, mais...
Sub extract3()
Range("C10:F32").Select
Selection.ClearContents
Range("C5").Select
Sheets("1").Activate
i = 0
For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
If c = Sheets("Recup").Range("C5") Then
Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value =
Range(c.Offset(0,
1), c.Offset(0, 2)).Value
i = i + 1
End If
Next
Sheets("Recup").Select
Range("A1").Select
End Sub

Mais voilà... il va chercher les données (d'après C5 en feuille "Recap")
de
la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
souhaiterais, aller chercher les mêmes données + celles de la col E et
pouvoir d'après un autre critère aller sur la feuille nommée "2" ou "3"..
etc
( en fait j'en ai 45 ).

Je joins mon fichier exemple
http://cjoint.com/?crn2hem3IY

Merci à celui qui me dépannera.


PLG
Le #18679871
Bonjour JP

OK... j'ai inséré ta ligne de code, et cela répond à la moitié de mon
problème.
Ce qui j'avoue est déjà fort bien...
Mais sans la seconde partie, bah... je peux rien faire.
Je me suis peut-être mal exprimé !
En C2 de Recup, l'utilisateur saisi le n° de la feuille ( les feuilles sont
nommées "1","2","3".... etc !!
Donc le code qu'il me manque est celui qui va tenir compte de la cel C2,
pour ouvrir la bonne page et ensuite renvoyer les valeurs.....

Je suis sur que tu peux le faire..... merci de toutes façons de ta réponse !
"JPMonnier" a écrit :

Bonjour; en ajoutant la ligne Sheets("Recup").Cells(10 ....
Si j'ai bien compris, ça devrait convenir

Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
--
Cordialement


"PLG" news:
> Bonjour
>
> Voici mon code qui me convient très bien, mais...
> Sub extract3()
> Range("C10:F32").Select
> Selection.ClearContents
> Range("C5").Select
> Sheets("1").Activate
> i = 0
> For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
> If c = Sheets("Recup").Range("C5") Then
> Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value =
> Range(c.Offset(0,
> 1), c.Offset(0, 2)).Value
> i = i + 1
> End If
> Next
> Sheets("Recup").Select
> Range("A1").Select
> End Sub
>
> Mais voilà... il va chercher les données (d'après C5 en feuille "Recap")
> de
> la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
> souhaiterais, aller chercher les mêmes données + celles de la col E et
> pouvoir d'après un autre critère aller sur la feuille nommée "2" ou "3"..
> etc
> ( en fait j'en ai 45 ).
>
> Je joins mon fichier exemple
> http://cjoint.com/?crn2hem3IY
>
> Merci à celui qui me dépannera.




PLG
Le #18679681
J'explique un peu mieux sur le fichier joint

http://cjoint.com/?crsddZtHAN

"PLG" a écrit :

Bonjour JP

OK... j'ai inséré ta ligne de code, et cela répond à la moitié de mon
problème.
Ce qui j'avoue est déjà fort bien...
Mais sans la seconde partie, bah... je peux rien faire.
Je me suis peut-être mal exprimé !
En C2 de Recup, l'utilisateur saisi le n° de la feuille ( les feuilles sont
nommées "1","2","3".... etc !!
Donc le code qu'il me manque est celui qui va tenir compte de la cel C2,
pour ouvrir la bonne page et ensuite renvoyer les valeurs.....

Je suis sur que tu peux le faire..... merci de toutes façons de ta réponse !
"JPMonnier" a écrit :

> Bonjour; en ajoutant la ligne Sheets("Recup").Cells(10 ....
> Si j'ai bien compris, ça devrait convenir
>
> Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
> 1), c.Offset(0, 2)).Value
> Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
> --
> Cordialement
>
>
> "PLG" > news:
> > Bonjour
> >
> > Voici mon code qui me convient très bien, mais...
> > Sub extract3()
> > Range("C10:F32").Select
> > Selection.ClearContents
> > Range("C5").Select
> > Sheets("1").Activate
> > i = 0
> > For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
> > If c = Sheets("Recup").Range("C5") Then
> > Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value =
> > Range(c.Offset(0,
> > 1), c.Offset(0, 2)).Value
> > i = i + 1
> > End If
> > Next
> > Sheets("Recup").Select
> > Range("A1").Select
> > End Sub
> >
> > Mais voilà... il va chercher les données (d'après C5 en feuille "Recap")
> > de
> > la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
> > souhaiterais, aller chercher les mêmes données + celles de la col E et
> > pouvoir d'après un autre critère aller sur la feuille nommée "2" ou "3"..
> > etc
> > ( en fait j'en ai 45 ).
> >
> > Je joins mon fichier exemple
> > http://cjoint.com/?crn2hem3IY
> >
> > Merci à celui qui me dépannera.
>
>


JPMonnier
Le #18679671
Essaie cette sub, je n'avais pas tout lu

Sub extract3()
Application.ScreenUpdating = False
Range("C10:F32").Select
Selection.ClearContents
Range("C5").Select
Sheets("1").Activate
Dim Wh
i = 0
Wh = Sheets("recup").[c2]
Sheets(Wh).Activate
For Each c In ActiveSheet.Range("A1", [A65535].End(xlUp))
If c = Sheets("Recup").Range("C5") Then
Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
i = i + 1
End If
Next
Sheets("Recup").Select
Range("A1").Select
End Sub

--
Cordialement


"PLG" news:
J'explique un peu mieux sur le fichier joint

http://cjoint.com/?crsddZtHAN

"PLG" a écrit :

Bonjour JP

OK... j'ai inséré ta ligne de code, et cela répond à la moitié de mon
problème.
Ce qui j'avoue est déjà fort bien...
Mais sans la seconde partie, bah... je peux rien faire.
Je me suis peut-être mal exprimé !
En C2 de Recup, l'utilisateur saisi le n° de la feuille ( les feuilles
sont
nommées "1","2","3".... etc !!
Donc le code qu'il me manque est celui qui va tenir compte de la cel C2,
pour ouvrir la bonne page et ensuite renvoyer les valeurs.....

Je suis sur que tu peux le faire..... merci de toutes façons de ta
réponse !
"JPMonnier" a écrit :

> Bonjour; en ajoutant la ligne Sheets("Recup").Cells(10 ....
> Si j'ai bien compris, ça devrait convenir
>
> Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value =
> Range(c.Offset(0,
> 1), c.Offset(0, 2)).Value
> Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
> --
> Cordialement
>
>
> "PLG" > news:
> > Bonjour
> >
> > Voici mon code qui me convient très bien, mais...
> > Sub extract3()
> > Range("C10:F32").Select
> > Selection.ClearContents
> > Range("C5").Select
> > Sheets("1").Activate
> > i = 0
> > For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
> > If c = Sheets("Recup").Range("C5") Then
> > Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value >> > > Range(c.Offset(0,
> > 1), c.Offset(0, 2)).Value
> > i = i + 1
> > End If
> > Next
> > Sheets("Recup").Select
> > Range("A1").Select
> > End Sub
> >
> > Mais voilà... il va chercher les données (d'après C5 en feuille
> > "Recap")
> > de
> > la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
> > souhaiterais, aller chercher les mêmes données + celles de la col E
> > et
> > pouvoir d'après un autre critère aller sur la feuille nommée "2" ou
> > "3"..
> > etc
> > ( en fait j'en ai 45 ).
> >
> > Je joins mon fichier exemple
> > http://cjoint.com/?crn2hem3IY
> >
> > Merci à celui qui me dépannera.
>
>




PLG
Le #18679641
... merveilleux....!!!!
Cela me sied à ravir...!!!!

Merci tout plein !!!
Bonne soirée à toi.

"JPMonnier" a écrit :

Essaie cette sub, je n'avais pas tout lu

Sub extract3()
Application.ScreenUpdating = False
Range("C10:F32").Select
Selection.ClearContents
Range("C5").Select
Sheets("1").Activate
Dim Wh
i = 0
Wh = Sheets("recup").[c2]
Sheets(Wh).Activate
For Each c In ActiveSheet.Range("A1", [A65535].End(xlUp))
If c = Sheets("Recup").Range("C5") Then
Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
i = i + 1
End If
Next
Sheets("Recup").Select
Range("A1").Select
End Sub

--
Cordialement


"PLG" news:
> J'explique un peu mieux sur le fichier joint
>
> http://cjoint.com/?crsddZtHAN
>
> "PLG" a écrit :
>
>> Bonjour JP
>>
>> OK... j'ai inséré ta ligne de code, et cela répond à la moitié de mon
>> problème.
>> Ce qui j'avoue est déjà fort bien...
>> Mais sans la seconde partie, bah... je peux rien faire.
>> Je me suis peut-être mal exprimé !
>> En C2 de Recup, l'utilisateur saisi le n° de la feuille ( les feuilles
>> sont
>> nommées "1","2","3".... etc !!
>> Donc le code qu'il me manque est celui qui va tenir compte de la cel C2,
>> pour ouvrir la bonne page et ensuite renvoyer les valeurs.....
>>
>> Je suis sur que tu peux le faire..... merci de toutes façons de ta
>> réponse !
>> "JPMonnier" a écrit :
>>
>> > Bonjour; en ajoutant la ligne Sheets("Recup").Cells(10 ....
>> > Si j'ai bien compris, ça devrait convenir
>> >
>> > Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value =
>> > Range(c.Offset(0,
>> > 1), c.Offset(0, 2)).Value
>> > Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
>> > --
>> > Cordialement
>> >
>> >
>> > "PLG" >> > news:
>> > > Bonjour
>> > >
>> > > Voici mon code qui me convient très bien, mais...
>> > > Sub extract3()
>> > > Range("C10:F32").Select
>> > > Selection.ClearContents
>> > > Range("C5").Select
>> > > Sheets("1").Activate
>> > > i = 0
>> > > For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
>> > > If c = Sheets("Recup").Range("C5") Then
>> > > Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value > >> > > Range(c.Offset(0,
>> > > 1), c.Offset(0, 2)).Value
>> > > i = i + 1
>> > > End If
>> > > Next
>> > > Sheets("Recup").Select
>> > > Range("A1").Select
>> > > End Sub
>> > >
>> > > Mais voilà... il va chercher les données (d'après C5 en feuille
>> > > "Recap")
>> > > de
>> > > la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
>> > > souhaiterais, aller chercher les mêmes données + celles de la col E
>> > > et
>> > > pouvoir d'après un autre critère aller sur la feuille nommée "2" ou
>> > > "3"..
>> > > etc
>> > > ( en fait j'en ai 45 ).
>> > >
>> > > Je joins mon fichier exemple
>> > > http://cjoint.com/?crn2hem3IY
>> > >
>> > > Merci à celui qui me dépannera.
>> >
>> >




JPMonnier
Le #18679351
Merci et bonne soirée aussi
--
Cordialement

"PLG" news:
... merveilleux....!!!!
Cela me sied à ravir...!!!!

Merci tout plein !!!
Bonne soirée à toi.

"JPMonnier" a écrit :

Essaie cette sub, je n'avais pas tout lu

Sub extract3()
Application.ScreenUpdating = False
Range("C10:F32").Select
Selection.ClearContents
Range("C5").Select
Sheets("1").Activate
Dim Wh
i = 0
Wh = Sheets("recup").[c2]
Sheets(Wh).Activate
For Each c In ActiveSheet.Range("A1", [A65535].End(xlUp))
If c = Sheets("Recup").Range("C5") Then
Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value =
Range(c.Offset(0,
1), c.Offset(0, 2)).Value
Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
i = i + 1
End If
Next
Sheets("Recup").Select
Range("A1").Select
End Sub

--
Cordialement


"PLG" news:
> J'explique un peu mieux sur le fichier joint
>
> http://cjoint.com/?crsddZtHAN
>
> "PLG" a écrit :
>
>> Bonjour JP
>>
>> OK... j'ai inséré ta ligne de code, et cela répond à la moitié de mon
>> problème.
>> Ce qui j'avoue est déjà fort bien...
>> Mais sans la seconde partie, bah... je peux rien faire.
>> Je me suis peut-être mal exprimé !
>> En C2 de Recup, l'utilisateur saisi le n° de la feuille ( les feuilles
>> sont
>> nommées "1","2","3".... etc !!
>> Donc le code qu'il me manque est celui qui va tenir compte de la cel
>> C2,
>> pour ouvrir la bonne page et ensuite renvoyer les valeurs.....
>>
>> Je suis sur que tu peux le faire..... merci de toutes façons de ta
>> réponse !
>> "JPMonnier" a écrit :
>>
>> > Bonjour; en ajoutant la ligne Sheets("Recup").Cells(10 ....
>> > Si j'ai bien compris, ça devrait convenir
>> >
>> > Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value >> >> > Range(c.Offset(0,
>> > 1), c.Offset(0, 2)).Value
>> > Sheets("Recup").Cells(10 + i, 5).Value = c.Offset(0, 4).Value
>> > --
>> > Cordialement
>> >
>> >
>> > "PLG" >> > news:
>> > > Bonjour
>> > >
>> > > Voici mon code qui me convient très bien, mais...
>> > > Sub extract3()
>> > > Range("C10:F32").Select
>> > > Selection.ClearContents
>> > > Range("C5").Select
>> > > Sheets("1").Activate
>> > > i = 0
>> > > For Each c In Worksheets("1").Range("A1", [A65535].End(xlUp))
>> > > If c = Sheets("Recup").Range("C5") Then
>> > > Sheets("Recup").Range("C" & 10 + i, "D" & 10 + i).Value >> >> > > Range(c.Offset(0,
>> > > 1), c.Offset(0, 2)).Value
>> > > i = i + 1
>> > > End If
>> > > Next
>> > > Sheets("Recup").Select
>> > > Range("A1").Select
>> > > End Sub
>> > >
>> > > Mais voilà... il va chercher les données (d'après C5 en feuille
>> > > "Recap")
>> > > de
>> > > la feuille nommée "1" Col B et C et me les range en C10 et D10. Je
>> > > souhaiterais, aller chercher les mêmes données + celles de la col
>> > > E
>> > > et
>> > > pouvoir d'après un autre critère aller sur la feuille nommée "2"
>> > > ou
>> > > "3"..
>> > > etc
>> > > ( en fait j'en ai 45 ).
>> > >
>> > > Je joins mon fichier exemple
>> > > http://cjoint.com/?crn2hem3IY
>> > >
>> > > Merci à celui qui me dépannera.
>> >
>> >






Publicité
Poster une réponse
Anonyme