Sub Toto() Sheets(1).Select Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange _ :=Range("G1"), Unique:=True Range("g2:g5000").Copy Sheets(2).Range("g1").PasteSpecial Sheets(2).Select Range("a50000").End(xlUp).Select While ActiveCell.Row <> 1 r = Application.VLookup(ActiveCell, Range("g1:g5000"), 1, 0) If IsError(r) Then ActiveCell.EntireRow.Delete ActiveCell.Offset(-1).Select Wend End Sub
Camille
-----Message d'origine----- Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de
codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les
lignes dont l'agence n'est pas dans le premier onglet.
Avez-vous une idée ?
Merci de votre aide.
Laurent
.
Bonjour,
Sub Toto()
Sheets(1).Select
Columns("A:A").AdvancedFilter Action:=xlFilterCopy,
CopyToRange _
:=Range("G1"), Unique:=True
Range("g2:g5000").Copy
Sheets(2).Range("g1").PasteSpecial
Sheets(2).Select
Range("a50000").End(xlUp).Select
While ActiveCell.Row <> 1
r = Application.VLookup(ActiveCell, Range("g1:g5000"),
1, 0)
If IsError(r) Then ActiveCell.EntireRow.Delete
ActiveCell.Offset(-1).Select
Wend
End Sub
Camille
-----Message d'origine-----
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un
certains nombre de
codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je
supprime toutes les
lignes dont l'agence n'est pas dans le premier onglet.
Sub Toto() Sheets(1).Select Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange _ :=Range("G1"), Unique:=True Range("g2:g5000").Copy Sheets(2).Range("g1").PasteSpecial Sheets(2).Select Range("a50000").End(xlUp).Select While ActiveCell.Row <> 1 r = Application.VLookup(ActiveCell, Range("g1:g5000"), 1, 0) If IsError(r) Then ActiveCell.EntireRow.Delete ActiveCell.Offset(-1).Select Wend End Sub
Camille
-----Message d'origine----- Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de
codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les
lignes dont l'agence n'est pas dans le premier onglet.
Avez-vous une idée ?
Merci de votre aide.
Laurent
.
anomymousA
bonjour,
dans l'exemple suivant on admet que ton onglet contenant les Agences est la Feuil1 et que la plage de cellules contenant le nom des agences est A1:A15 et que ton onglet contenant les lignes à supprimer est la Feuil2 et que le critère de dsicrimination ( donc le nom des agences) se situe dans la colonne A de ce présent onglet. à adapter bien sur
Sheets("Feuil1").Activate Set rngA = ActiveSheet.Range("A1:A15") Sheets("Feuil2").Activate derligne = Range("A65536").End(xlUp).Row For I = derligne To 1 Step -1 On Error Resume Next tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False) If Err.Number <> 0 Then Err.Clear Cells(I, 1).EntireRow.Delete End If Next
Il existe d'autres méthodes mais celle-ci fonctionne et est relativement rapide.
A+
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les lignes dont l'agence n'est pas dans le premier onglet.
Avez-vous une idée ?
Merci de votre aide.
Laurent
bonjour,
dans l'exemple suivant on admet que ton onglet contenant les Agences est la
Feuil1 et que la plage de cellules contenant le nom des agences est A1:A15
et que ton onglet contenant les lignes à supprimer est la Feuil2 et que le
critère de dsicrimination ( donc le nom des agences) se situe dans la colonne
A de ce présent onglet. à adapter bien sur
Sheets("Feuil1").Activate
Set rngA = ActiveSheet.Range("A1:A15")
Sheets("Feuil2").Activate
derligne = Range("A65536").End(xlUp).Row
For I = derligne To 1 Step -1
On Error Resume Next
tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False)
If Err.Number <> 0 Then
Err.Clear
Cells(I, 1).EntireRow.Delete
End If
Next
Il existe d'autres méthodes mais celle-ci fonctionne et est relativement
rapide.
A+
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de
codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les
lignes dont l'agence n'est pas dans le premier onglet.
dans l'exemple suivant on admet que ton onglet contenant les Agences est la Feuil1 et que la plage de cellules contenant le nom des agences est A1:A15 et que ton onglet contenant les lignes à supprimer est la Feuil2 et que le critère de dsicrimination ( donc le nom des agences) se situe dans la colonne A de ce présent onglet. à adapter bien sur
Sheets("Feuil1").Activate Set rngA = ActiveSheet.Range("A1:A15") Sheets("Feuil2").Activate derligne = Range("A65536").End(xlUp).Row For I = derligne To 1 Step -1 On Error Resume Next tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False) If Err.Number <> 0 Then Err.Clear Cells(I, 1).EntireRow.Delete End If Next
Il existe d'autres méthodes mais celle-ci fonctionne et est relativement rapide.
A+
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les lignes dont l'agence n'est pas dans le premier onglet.
Avez-vous une idée ?
Merci de votre aide.
Laurent
Laurent S.
Merci pour vos réponses, cela semble marcher mais c'est très très (trop) lent !!! Il y a plus de 47500 lignes dans l'onglet "Data" dans lequel il faut supprimer des lignes.
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Merci
PS: J'ai essayé d'accélérer un peu en suspendant le rafraîchissement ainsi que les évènements.
Pour information, j'ai repris ton code que j'ai adapté à mon problème
Sub SuppressionAgencesInutiles() Application.ScreenUpdating = False Application.EnableEvents = False Sheets("Menu").Activate Set rngA = ActiveSheet.Range("B7:B42") Sheets("Data").Activate derligne = Range("B65536").End(xlUp).Row For I = derligne To 1 Step -1 On Error Resume Next tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False) If Err.Number <> 0 Then Err.Clear 'Cells(I, 1).EntireRow.Delete Rows(I).Delete Shift:=xlUp End If Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub
"anomymousA" a écrit dans le message de news:
bonjour,
dans l'exemple suivant on admet que ton onglet contenant les Agences est la Feuil1 et que la plage de cellules contenant le nom des agences est A1:A15 et que ton onglet contenant les lignes à supprimer est la Feuil2 et que le critère de dsicrimination ( donc le nom des agences) se situe dans la colonne A de ce présent onglet. à adapter bien sur
Sheets("Feuil1").Activate Set rngA = ActiveSheet.Range("A1:A15") Sheets("Feuil2").Activate derligne = Range("A65536").End(xlUp).Row For I = derligne To 1 Step -1 On Error Resume Next tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False) If Err.Number <> 0 Then Err.Clear Cells(I, 1).EntireRow.Delete End If Next
Il existe d'autres méthodes mais celle-ci fonctionne et est relativement rapide.
A+
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les lignes dont l'agence n'est pas dans le premier onglet.
Avez-vous une idée ?
Merci de votre aide.
Laurent
Merci pour vos réponses, cela semble marcher mais c'est très très (trop)
lent !!!
Il y a plus de 47500 lignes dans l'onglet "Data" dans lequel il faut
supprimer des lignes.
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Merci
PS: J'ai essayé d'accélérer un peu en suspendant le rafraîchissement ainsi
que les évènements.
Pour information, j'ai repris ton code que j'ai adapté à mon problème
Sub SuppressionAgencesInutiles()
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("Menu").Activate
Set rngA = ActiveSheet.Range("B7:B42")
Sheets("Data").Activate
derligne = Range("B65536").End(xlUp).Row
For I = derligne To 1 Step -1
On Error Resume Next
tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1,
False)
If Err.Number <> 0 Then
Err.Clear
'Cells(I, 1).EntireRow.Delete
Rows(I).Delete Shift:=xlUp
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message
de news: 25D7FCB4-75EB-422C-9658-5821B7906003@microsoft.com...
bonjour,
dans l'exemple suivant on admet que ton onglet contenant les Agences est
la
Feuil1 et que la plage de cellules contenant le nom des agences est A1:A15
et que ton onglet contenant les lignes à supprimer est la Feuil2 et que le
critère de dsicrimination ( donc le nom des agences) se situe dans la
colonne
A de ce présent onglet. à adapter bien sur
Sheets("Feuil1").Activate
Set rngA = ActiveSheet.Range("A1:A15")
Sheets("Feuil2").Activate
derligne = Range("A65536").End(xlUp).Row
For I = derligne To 1 Step -1
On Error Resume Next
tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1,
False)
If Err.Number <> 0 Then
Err.Clear
Cells(I, 1).EntireRow.Delete
End If
Next
Il existe d'autres méthodes mais celle-ci fonctionne et est relativement
rapide.
A+
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre
de
codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les
lignes dont l'agence n'est pas dans le premier onglet.
Merci pour vos réponses, cela semble marcher mais c'est très très (trop) lent !!! Il y a plus de 47500 lignes dans l'onglet "Data" dans lequel il faut supprimer des lignes.
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Merci
PS: J'ai essayé d'accélérer un peu en suspendant le rafraîchissement ainsi que les évènements.
Pour information, j'ai repris ton code que j'ai adapté à mon problème
Sub SuppressionAgencesInutiles() Application.ScreenUpdating = False Application.EnableEvents = False Sheets("Menu").Activate Set rngA = ActiveSheet.Range("B7:B42") Sheets("Data").Activate derligne = Range("B65536").End(xlUp).Row For I = derligne To 1 Step -1 On Error Resume Next tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False) If Err.Number <> 0 Then Err.Clear 'Cells(I, 1).EntireRow.Delete Rows(I).Delete Shift:=xlUp End If Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub
"anomymousA" a écrit dans le message de news:
bonjour,
dans l'exemple suivant on admet que ton onglet contenant les Agences est la Feuil1 et que la plage de cellules contenant le nom des agences est A1:A15 et que ton onglet contenant les lignes à supprimer est la Feuil2 et que le critère de dsicrimination ( donc le nom des agences) se situe dans la colonne A de ce présent onglet. à adapter bien sur
Sheets("Feuil1").Activate Set rngA = ActiveSheet.Range("A1:A15") Sheets("Feuil2").Activate derligne = Range("A65536").End(xlUp).Row For I = derligne To 1 Step -1 On Error Resume Next tampon = Application.WorksheetFunction.VLookup(Cells(I, 1), rngA, 1, False) If Err.Number <> 0 Then Err.Clear Cells(I, 1).EntireRow.Delete End If Next
Il existe d'autres méthodes mais celle-ci fonctionne et est relativement rapide.
A+
Bonjour à tous,
Voici ma problématique :
Je dispose d'un onglet dans un classeur qui m'indique un certains nombre de codes Agence (environ 15)
Dans un autre onglet du classeur, il faudrait que je supprime toutes les lignes dont l'agence n'est pas dans le premier onglet.
Avez-vous une idée ?
Merci de votre aide.
Laurent
AV
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement
s'arranger !
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
AV
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un exemple PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton exemple, le poids du fichier est trop "respectable" pour être accepté par http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un
exemple
PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton
exemple, le poids du fichier est trop "respectable" pour être accepté par
http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne
suis pas une bête d'Excel ;-)))
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
ORXLQu6BFHA.3528@tk2msftngp13.phx.gbl...
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont
considérablement
s'arranger !
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un exemple PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton exemple, le poids du fichier est trop "respectable" pour être accepté par http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
Laurent S.
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Voici mon adresse mail si tu veux
Encore merci.
"AV" a écrit dans le message de news: %
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un exemple PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton exemple, le poids du fichier est trop "respectable" pour être accepté par http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Voici mon adresse mail si tu veux lsoudron@business-services.fr
Encore merci.
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
%23q5ZES7BFHA.3548@TK2MSFTNGP09.phx.gbl...
Si tu veux me communiquer (dans ma bal) une adresse valide, je te
transmets un
exemple
PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton
exemple, le poids du fichier est trop "respectable" pour être accepté par
http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne
suis pas une bête d'Excel ;-)))
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
ORXLQu6BFHA.3528@tk2msftngp13.phx.gbl...
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont
considérablement
s'arranger !
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Voici mon adresse mail si tu veux
Encore merci.
"AV" a écrit dans le message de news: %
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un exemple PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton exemple, le poids du fichier est trop "respectable" pour être accepté par http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
AV
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Ben faut enlever PFFF de l'adresse ! Je te transmets un exemple
AV
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Ben faut enlever PFFF de l'adresse !
Je te transmets un exemple
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Ben faut enlever PFFF de l'adresse ! Je te transmets un exemple
AV
Laurent S.
As-tu reçu mon fichier exemple, car même en enlevant PFFF, j'ai un message de retour en erreur m'indiquant " This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:
SMTP error from remote mailer after RCPT TO:: host smtp.wanadoo.fr [193.252.22.110]: 550 : Recipient address rejected: User unknown"
J'ai modifié ton adresse mail par zzz et j'avais bien enlevé le PFFF avant d'envoyer le message.
AV a exposé le 01/02/2005 :
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Ben faut enlever PFFF de l'adresse ! Je te transmets un exemple
AV
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
As-tu reçu mon fichier exemple, car même en enlevant PFFF, j'ai un
message de retour en erreur m'indiquant
"
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es)
failed:
zzz@wanadoo.fr
SMTP error from remote mailer after RCPT TO:<zzz@wanadoo.fr>:
host smtp.wanadoo.fr [193.252.22.110]: 550 <zzz@wanadoo.fr>:
Recipient address rejected: User unknown"
J'ai modifié ton adresse mail par zzz et j'avais bien enlevé le PFFF
avant d'envoyer le message.
AV a exposé le 01/02/2005 :
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Ben faut enlever PFFF de l'adresse !
Je te transmets un exemple
AV
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
As-tu reçu mon fichier exemple, car même en enlevant PFFF, j'ai un message de retour en erreur m'indiquant " This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:
SMTP error from remote mailer after RCPT TO:: host smtp.wanadoo.fr [193.252.22.110]: 550 : Recipient address rejected: User unknown"
J'ai modifié ton adresse mail par zzz et j'avais bien enlevé le PFFF avant d'envoyer le message.
AV a exposé le 01/02/2005 :
Je t'ai envoyé un mail qui vient de me revenir en retour en erreur.
Ben faut enlever PFFF de l'adresse ! Je te transmets un exemple
AV
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Laurent S.
J'ai allégé le fichier pour permettre d'utilisser CJoint Voici le lien vers le fichier : http://cjoint.com/?cbmzFQGDHg
AV vient de nous annoncer :
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un exemple PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton exemple, le poids du fichier est trop "respectable" pour être accepté par http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
J'ai allégé le fichier pour permettre d'utilisser CJoint
Voici le lien vers le fichier : http://cjoint.com/?cbmzFQGDHg
AV vient de nous annoncer :
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets
un exemple
PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton
exemple, le poids du fichier est trop "respectable" pour être accepté par
http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne
suis pas une bête d'Excel ;-)))
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
ORXLQu6BFHA.3528@tk2msftngp13.phx.gbl...
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont
considérablement
s'arranger !
AV
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
J'ai allégé le fichier pour permettre d'utilisser CJoint Voici le lien vers le fichier : http://cjoint.com/?cbmzFQGDHg
AV vient de nous annoncer :
Si tu veux me communiquer (dans ma bal) une adresse valide, je te transmets un exemple PS : avec 47500 cellules renseignées, comme ça semble être le cas dans ton exemple, le poids du fichier est trop "respectable" pour être accepté par http://cjoint.com
AV
Pourquoi pas, mais je ne sais pas du tout faire. Pour tout avouer, je ne suis pas une bête d'Excel ;-)))
"AV" a écrit dans le message de news:
N'y-a-t-il pas moyen d'accélérer un peu le traitement ?
Si passe par un filtre au lieu d'une boucle, les choses vont considérablement s'arranger !
AV
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net