J'ai un très volumineux fichier à traiter pour en extraire des adresses (18
000 lignes...).
J'ai besoin de faire la chose suivante :
Sélectionner la colonne 1
Rechercher le texte "ZZZZZ"
tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes
après,
supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner)
EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite
macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Le texte représente-t-il la valeur de la cellule ou une partie de celle-ci ? Cordialement. Daniel "Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Bonjour.
Le texte représente-t-il la valeur de la cellule ou une partie de celle-ci ?
Cordialement.
Daniel
"Georges Schell" <gs@schell--audit.com> a écrit dans le message de news:
BEBA684F.26AE0%gs@schell--audit.com...
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses
(18
000 lignes...).
J'ai besoin de faire la chose suivante :
? Sélectionner la colonne 1
? Rechercher le texte "ZZZZZ"
? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes
après,
? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner)
EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite
macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Bonjour. Le texte représente-t-il la valeur de la cellule ou une partie de celle-ci ? Cordialement. Daniel "Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
JCR
Bonjour, en bricolant :
on insère une colonne avant la colonne A on y copie cette formule : =SI(OU(B10="zzzz";B11="zzzz";B12="zzzz";B13="zzzz");1;0)
Un copier / collage spécial / valeur
et ensuite cette petite macro :
For i = [a65536].End(xlUp).Row To 2 Step -1 If Cells(i, 1) = 1 Then Rows(i).Delete Next
Espérant vous avoir aidé.
JC de Reynal
"Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Bonjour,
en bricolant :
on insère une colonne avant la colonne A on y copie cette formule :
=SI(OU(B10="zzzz";B11="zzzz";B12="zzzz";B13="zzzz");1;0)
Un copier / collage spécial / valeur
et ensuite cette petite macro :
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 1 Then Rows(i).Delete
Next
Espérant vous avoir aidé.
JC de Reynal
"Georges Schell" <gs@schell--audit.com> a écrit dans le message de news:
BEBA684F.26AE0%gs@schell--audit.com...
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses
(18
000 lignes...).
J'ai besoin de faire la chose suivante :
? Sélectionner la colonne 1
? Rechercher le texte "ZZZZZ"
? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes
après,
? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner)
EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite
macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
on insère une colonne avant la colonne A on y copie cette formule : =SI(OU(B10="zzzz";B11="zzzz";B12="zzzz";B13="zzzz");1;0)
Un copier / collage spécial / valeur
et ensuite cette petite macro :
For i = [a65536].End(xlUp).Row To 2 Step -1 If Cells(i, 1) = 1 Then Rows(i).Delete Next
Espérant vous avoir aidé.
JC de Reynal
"Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
LSteph
Bonjour ,
???s'il est aussi en 1012 faudrait ti supprimer 1011 aussi voici Donc en imaginant qu'il n'y ait pas de "zzzzz" consécutifs à moins de 4 lignes (un truc qui n'irait pas sinon) et que l'on accepte Maj ou Min
'**** Sub dzzzzzerbant() Application.ScreenUpdating = False Rows(18000).Select Do While Selection.Row > 1 If UCase(Selection.Cells(1)) Like "*ZZZZZ*" Then Range(Selection.Offset(-1, 0), _ Selection.Offset(2, 0)).EntireRow.Select Selection.Rows.Delete End If Selection.Offset(-1, 0).Rows(1).Select Application.StatusBar = "Traitement Ligne :" & Selection.Row Loop Application.ScreenUpdating = True Application.StatusBar = False End Sub
'**** 'lSteph
"Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Bonjour ,
???s'il est aussi en 1012 faudrait ti supprimer 1011
aussi voici
Donc en imaginant qu'il n'y ait pas de "zzzzz" consécutifs à moins de 4
lignes
(un truc qui n'irait pas sinon)
et que l'on accepte Maj ou Min
'****
Sub dzzzzzerbant()
Application.ScreenUpdating = False
Rows(18000).Select
Do While Selection.Row > 1
If UCase(Selection.Cells(1)) Like "*ZZZZZ*" Then
Range(Selection.Offset(-1, 0), _
Selection.Offset(2, 0)).EntireRow.Select
Selection.Rows.Delete
End If
Selection.Offset(-1, 0).Rows(1).Select
Application.StatusBar = "Traitement Ligne :" & Selection.Row
Loop
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
'****
'lSteph
"Georges Schell" <gs@schell--audit.com> a écrit dans le message de news:
BEBA684F.26AE0%gs@schell--audit.com...
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses
(18
000 lignes...).
J'ai besoin de faire la chose suivante :
? Sélectionner la colonne 1
? Rechercher le texte "ZZZZZ"
? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes
après,
? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner)
EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite
macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
???s'il est aussi en 1012 faudrait ti supprimer 1011 aussi voici Donc en imaginant qu'il n'y ait pas de "zzzzz" consécutifs à moins de 4 lignes (un truc qui n'irait pas sinon) et que l'on accepte Maj ou Min
'**** Sub dzzzzzerbant() Application.ScreenUpdating = False Rows(18000).Select Do While Selection.Row > 1 If UCase(Selection.Cells(1)) Like "*ZZZZZ*" Then Range(Selection.Offset(-1, 0), _ Selection.Offset(2, 0)).EntireRow.Select Selection.Rows.Delete End If Selection.Offset(-1, 0).Rows(1).Select Application.StatusBar = "Traitement Ligne :" & Selection.Row Loop Application.ScreenUpdating = True Application.StatusBar = False End Sub
'**** 'lSteph
"Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Georges Schell
Merci à JCRSM et à lSteph pour leurs solutions qui fonctionnent toutes les deux !
Pour JC : l'idée est bonne et je l'utilise souvent ; là, je crois que j'ai paniqué... En fait, on n'a même pas besoin d'une macro : dans une colonne, on porte la formule =ligne(), Collage spécial valeur, puis, on fait un tri sur la 1ère colonne et on supprime les lignes qui sont à 0 au lieu de 1... Nouveau tri sur les n0s de ligne et ça roule !
La formule de lSteph est, évidemment, élégante !
Merci à tous les deux de votre savoir et de votre solidarité !
Georges
PS pour JC : c'est une sté que vous connaissez...
dans l'article , LSteph à a écrit le 25/05/05 18:27 :
Bonjour ,
???s'il est aussi en 1012 faudrait ti supprimer 1011 aussi voici Donc en imaginant qu'il n'y ait pas de "zzzzz" consécutifs à moins de 4 lignes (un truc qui n'irait pas sinon) et que l'on accepte Maj ou Min
'**** Sub dzzzzzerbant() Application.ScreenUpdating = False Rows(18000).Select Do While Selection.Row > 1 If UCase(Selection.Cells(1)) Like "*ZZZZZ*" Then Range(Selection.Offset(-1, 0), _ Selection.Offset(2, 0)).EntireRow.Select Selection.Rows.Delete End If Selection.Offset(-1, 0).Rows(1).Select Application.StatusBar = "Traitement Ligne :" & Selection.Row Loop Application.ScreenUpdating = True Application.StatusBar = False End Sub
'**** 'lSteph
"Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Merci à JCRSM et à lSteph pour leurs solutions qui fonctionnent toutes les
deux !
Pour JC : l'idée est bonne et je l'utilise souvent ; là, je crois que j'ai
paniqué... En fait, on n'a même pas besoin d'une macro : dans une colonne,
on porte la formule =ligne(), Collage spécial valeur, puis, on fait un tri
sur la 1ère colonne et on supprime les lignes qui sont à 0 au lieu de 1...
Nouveau tri sur les n0s de ligne et ça roule !
La formule de lSteph est, évidemment, élégante !
Merci à tous les deux de votre savoir et de votre solidarité !
Georges
PS pour JC : c'est une sté que vous connaissez...
dans l'article umUdbaUYFHA.2948@TK2MSFTNGP10.phx.gbl, LSteph à
lecocosteph@frite.fr a écrit le 25/05/05 18:27 :
Bonjour ,
???s'il est aussi en 1012 faudrait ti supprimer 1011
aussi voici
Donc en imaginant qu'il n'y ait pas de "zzzzz" consécutifs à moins de 4
lignes
(un truc qui n'irait pas sinon)
et que l'on accepte Maj ou Min
'****
Sub dzzzzzerbant()
Application.ScreenUpdating = False
Rows(18000).Select
Do While Selection.Row > 1
If UCase(Selection.Cells(1)) Like "*ZZZZZ*" Then
Range(Selection.Offset(-1, 0), _
Selection.Offset(2, 0)).EntireRow.Select
Selection.Rows.Delete
End If
Selection.Offset(-1, 0).Rows(1).Select
Application.StatusBar = "Traitement Ligne :" & Selection.Row
Loop
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
'****
'lSteph
"Georges Schell" <gs@schell--audit.com> a écrit dans le message de news:
BEBA684F.26AE0%gs@schell--audit.com...
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses
(18
000 lignes...).
J'ai besoin de faire la chose suivante :
? Sélectionner la colonne 1
? Rechercher le texte "ZZZZZ"
? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes
après,
? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner)
EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite
macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Merci à JCRSM et à lSteph pour leurs solutions qui fonctionnent toutes les deux !
Pour JC : l'idée est bonne et je l'utilise souvent ; là, je crois que j'ai paniqué... En fait, on n'a même pas besoin d'une macro : dans une colonne, on porte la formule =ligne(), Collage spécial valeur, puis, on fait un tri sur la 1ère colonne et on supprime les lignes qui sont à 0 au lieu de 1... Nouveau tri sur les n0s de ligne et ça roule !
La formule de lSteph est, évidemment, élégante !
Merci à tous les deux de votre savoir et de votre solidarité !
Georges
PS pour JC : c'est une sté que vous connaissez...
dans l'article , LSteph à a écrit le 25/05/05 18:27 :
Bonjour ,
???s'il est aussi en 1012 faudrait ti supprimer 1011 aussi voici Donc en imaginant qu'il n'y ait pas de "zzzzz" consécutifs à moins de 4 lignes (un truc qui n'irait pas sinon) et que l'on accepte Maj ou Min
'**** Sub dzzzzzerbant() Application.ScreenUpdating = False Rows(18000).Select Do While Selection.Row > 1 If UCase(Selection.Cells(1)) Like "*ZZZZZ*" Then Range(Selection.Offset(-1, 0), _ Selection.Offset(2, 0)).EntireRow.Select Selection.Rows.Delete End If Selection.Offset(-1, 0).Rows(1).Select Application.StatusBar = "Traitement Ligne :" & Selection.Row Loop Application.ScreenUpdating = True Application.StatusBar = False End Sub
'**** 'lSteph
"Georges Schell" a écrit dans le message de news: BEBA684F.26AE0%
Bonjour tout le monde,
J'ai un très volumineux fichier à traiter pour en extraire des adresses (18 000 lignes...). J'ai besoin de faire la chose suivante : ? Sélectionner la colonne 1 ? Rechercher le texte "ZZZZZ" ? tant qu'il est trouvé, sélectionner de la ligne précédente à 2 lignes après, ? supprimer les lignes sélectionnées (ou bien supprimer sans sélectionner) EX : le texte est trouvé en ligne 1013, on doit supprimer de 1012 à 1015.
J'ai commencé à le faire à la main, mais c'est beaucoup trop long...
Une bonne âme aura-t-elle pitié d'un ignorant en lui rédigeant la petite macro ad hoc ?
Merci d'avance à cet éventuel bienfaiteur !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !