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

extraire données selon critère ( vba )

3 réponses
Avatar
PLG
Bonjour, soir, nuit ( choisir selon le cas )
Voilà, j'ai ce code, j'essaie de le bidouiller... mais rien n'y fait !
Bref étant assez nul en vba... j'y arrive pas !

Sub extract2()
Sheets("Feuil1").Activate
i = 0
For Each c In Worksheets("Feuil1").Range("A1", [A65535].End(xlUp))
If c = Sheets("Feuil2").Range("C5") Then
Sheets("Feuil2").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
i = i + 1
End If
Next
End Sub

Donc feuille 1, mes données en colonnes : A, B et C
Feuille 2 Le critère de recherche en C5.
Et selon ce critère qui est cherché en Feuille 1 Col A, les données en B et
C sont renvoyées en C10 et D10 de la feuille 2.
Ca ça marche nickel-chrome. Mais voilà, si je veux récupérer en plus les
données des colonnes D et E situées toujours sur la feuille 1.... là je
bloque...!
Damned...!
J'ai bien essayé plusieurs trucs... mais bof !!!

Je serai donc très reconnaissant à qui me résoudra mon petit problème.

Merci d'avance et bonne soirée

3 réponses

Avatar
PLG
Re moi...
J'ai oublié de spécifier que les données à récupérer de la feuille 1 en D et
E doivent aller se positionner feuille 2 en E10 et F10....!

"PLG" a écrit :

Bonjour, soir, nuit ( choisir selon le cas )
Voilà, j'ai ce code, j'essaie de le bidouiller... mais rien n'y fait !
Bref étant assez nul en vba... j'y arrive pas !

Sub extract2()
Sheets("Feuil1").Activate
i = 0
For Each c In Worksheets("Feuil1").Range("A1", [A65535].End(xlUp))
If c = Sheets("Feuil2").Range("C5") Then
Sheets("Feuil2").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value
i = i + 1
End If
Next
End Sub

Donc feuille 1, mes données en colonnes : A, B et C
Feuille 2 Le critère de recherche en C5.
Et selon ce critère qui est cherché en Feuille 1 Col A, les données en B et
C sont renvoyées en C10 et D10 de la feuille 2.
Ca ça marche nickel-chrome. Mais voilà, si je veux récupérer en plus les
données des colonnes D et E situées toujours sur la feuille 1.... là je
bloque...!
Damned...!
J'ai bien essayé plusieurs trucs... mais bof !!!

Je serai donc très reconnaissant à qui me résoudra mon petit problème.

Merci d'avance et bonne soirée


Avatar
FFO
Salut à toi

Change la ligne :

Sheets("Feuil2").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value

par

Sheets("Feuil2").Range("C" & 10 + i, "F" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 4)).Value


Celà devrait convenir

Dis moi !!!!!!
Avatar
PLG
Bonsoir M'sieur FFO

Bahhhhh..... que dire, mis à part que je suis une grosse cruche...!
J'essayais bien de la modifier cette foutue ligne.... mais pas comme ça !!!
Pfffffff....!
Je te remercie bien fort et longue vie à toi sur le forum !!
A la prochaine !

"FFO" a écrit :

Salut à toi

Change la ligne :

Sheets("Feuil2").Range("C" & 10 + i, "D" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 2)).Value

par

Sheets("Feuil2").Range("C" & 10 + i, "F" & 10 + i).Value = Range(c.Offset(0,
1), c.Offset(0, 4)).Value


Celà devrait convenir

Dis moi !!!!!!