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

Deux fois

3 réponses
Avatar
lelg79
Bonjour,=20


J'ai des onglets style base de donn=E9es qui contiennent tous les m=EAmes d=
onn=E9es et je dois envoyer =E0 chaque service les seules donn=E9es qui le =
concerne. Le service est identifi=E9 par le nom de l'onglet. Dans certains =
onglets le tri est fait =E0 partir du chiffre inscrit dans la colonne C, da=
ns la colonne K pour les autres.

J'ai cr=E9=E9 laborieusement cette macro pour automatiser le truc

Sub Fichier_ed_evs()

Application.ScreenUpdating =3D False

For i =3D [a1000].End(3).Row To 1 Step -1
Sheets("LYON").Select
If Cells(i, 3) <> 95522 Then Rows(i).Delete
Sheets("VALENCE").Select
If Cells(i, 3) <> 95523 Then Rows(i).Delete
Sheets("VIENNE").Select
If Cells(i, 3) <> 95524 Then Rows(i).Delete
Sheets("MACON").Select
If Cells(i, 3) <> 95525 Then Rows(i).Delete
Sheets("SAINT ETIENNE").Select
If Cells(i, 3) <> 95526 Then Rows(i).Delete
Sheets("RHONE ALPES").Select
If Cells(i, 11) <> 95532 Then Rows(i).Delete
Sheets("LYON NORD").Select
If Cells(i, 11) <> 95533 Then Rows(i).Delete
Sheets("LYON SUD").Select
If Cells(i, 11) <> 95534 Then Rows(i).Delete
Sheets("DROME").Select
If Cells(i, 11) <> 95535 Then Rows(i).Delete
Sheets("LOIRE").Select
If Cells(i, 11) <> 95536 Then Rows(i).Delete
Sheets("FORMATION").Select
If Cells(i, 11) <> 95539 Then Rows(i).Delete


Next
End Sub

Je ne comprends par pourquoi il faut que je lance deux fois la macro pour q=
ue le r=E9sultat soit conforme dans les six derniers onglets o=F9 la donn=
=E9e est dans la colonne K (i, 11).=20

--=20
Merci d'avance
Laurent

3 réponses

Avatar
DanielCo
Bonjour,
Essaie avec une seule feuille de données. Fais un filtre automatique
pour chaque service successivament, copie les lignes filtrées et
colle-les dans une feuille spécifique à chaque service.
Si tu veux plus d'aide, poste un classeur exemple (une feuille).
Cordialement.
Daniel


Bonjour,


J'ai des onglets style base de données qui contiennent tous les mêmes données
et je dois envoyer à chaque service les seules données qui le concerne. Le
service est identifié par le nom de l'onglet. Dans certains onglets le tri
est fait à partir du chiffre inscrit dans la colonne C, dans la colonne K
pour les autres.

J'ai créé laborieusement cette macro pour automatiser le truc

Sub Fichier_ed_evs()

Application.ScreenUpdating = False

For i = [a1000].End(3).Row To 1 Step -1
Sheets("LYON").Select
If Cells(i, 3) <> 95522 Then Rows(i).Delete
Sheets("VALENCE").Select
If Cells(i, 3) <> 95523 Then Rows(i).Delete
Sheets("VIENNE").Select
If Cells(i, 3) <> 95524 Then Rows(i).Delete
Sheets("MACON").Select
If Cells(i, 3) <> 95525 Then Rows(i).Delete
Sheets("SAINT ETIENNE").Select
If Cells(i, 3) <> 95526 Then Rows(i).Delete
Sheets("RHONE ALPES").Select
If Cells(i, 11) <> 95532 Then Rows(i).Delete
Sheets("LYON NORD").Select
If Cells(i, 11) <> 95533 Then Rows(i).Delete
Sheets("LYON SUD").Select
If Cells(i, 11) <> 95534 Then Rows(i).Delete
Sheets("DROME").Select
If Cells(i, 11) <> 95535 Then Rows(i).Delete
Sheets("LOIRE").Select
If Cells(i, 11) <> 95536 Then Rows(i).Delete
Sheets("FORMATION").Select
If Cells(i, 11) <> 95539 Then Rows(i).Delete


Next
End Sub

Je ne comprends par pourquoi il faut que je lance deux fois la macro pour que
le résultat soit conforme dans les six derniers onglets où la donnée est dans
la colonne K (i, 11).
Avatar
--- Laurent ---
Bonjour,

Le 05/12/2013 13:16, DanielCo a écrit :
Bonjour,
Essaie avec une seule feuille de données. Fais un filtre automatique
pour chaque service successivament, copie les lignes filtrées et
colle-les dans une feuille spécifique à chaque service.
Si tu veux plus d'aide, poste un classeur exemple (une feuille).
Cordialement.
Daniel




Merci, mais bon, c'est justement pour m'éviter ces manip' que j'ai eu
l'idée de faire une macro ;o)

--
Laurent
Avatar
DanielCo
Merci, mais bon, c'est justement pour m'éviter ces manip' que j'ai eu l'idée
de faire une macro ;o)



Bien sûr que tu utilises le filtre auto avec une macro.
Daniel