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

Choix de feuille et extraction données en VBA

6 réponses
Avatar
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.

6 réponses

Avatar
JPMonnier
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" a écrit dans le message de
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.


Avatar
PLG
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" a écrit dans le message de
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.




Avatar
PLG
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" a écrit dans le message de
> 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.
>
>


Avatar
JPMonnier
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" a écrit dans le message de
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" a écrit dans le message de
> 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.
>
>




Avatar
PLG
... 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" a écrit dans le message de
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" a écrit dans le message de
>> > 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.
>> >
>> >




Avatar
JPMonnier
Merci et bonne soirée aussi
--
Cordialement

"PLG" a écrit dans le message de
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" a écrit dans le message de
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" a écrit dans le message de
>> > 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.
>> >
>> >