Bonjoir, Finalement pour les lignes entières de la feuille correspondant à une sélection de cellules soit si la première chaîne rencontrée dans la ligne comporte au moins "--" deux tirêts ( ..désolé AV avec un .find , je ne trouve pas)
Sub supsitraits()
Dim firstR As Integer firstR = Selection.Cells(1).Row Application.ScreenUpdating = False
Selection.Rows(Selection.Rows.Count).Select Do For Each c In Selection.EntireRow.Cells If c <> "" Then If Mid(c, 1, 2) = "--" Then c.EntireRow.Delete Exit For End If Exit For End If Next If Selection.Row = firstR Then End Rows(Selection.Row - 1).EntireRow.Select Loop While Selection.Row >= firstR
Application.ScreenUpdating = True End Sub '**** 'lSteph
"JC" a écrit dans le message de news: 415e9416$0$7327$
euh ça ne marche pas erreur dès dim r as range "LeSteph" a écrit dans le message de news:
Bonjour, Pour une sélection Essaie celle-ci: '******* 'dans module standard '***** Sub supsitraits() 'supprime de la sélection 'les lignes commençant par -- Dim r as range Dim c as range For Each r In Selection.Cells.Rows For Each c In r.Cells If c <> "" Then If Mid(c, 1, 2) = "--" Then c.EntireRow.Delete Exit For Else Exit For End If End If Next c Next r End Sub '**** 'lSteph "JC" a écrit dans le message de news: 415e8194$0$7345$
Bonjour,
J'aimerai supprimer les lignes dont les premiiers caractères sont des traits (---------) comment faire ???
merci
Bonjoir,
Finalement pour les lignes entières de la feuille correspondant à une
sélection de cellules
soit si la première chaîne rencontrée dans la ligne comporte au moins "--"
deux tirêts
( ..désolé AV avec un .find , je ne trouve pas)
Sub supsitraits()
Dim firstR As Integer
firstR = Selection.Cells(1).Row
Application.ScreenUpdating = False
Selection.Rows(Selection.Rows.Count).Select
Do
For Each c In Selection.EntireRow.Cells
If c <> "" Then
If Mid(c, 1, 2) = "--" Then
c.EntireRow.Delete
Exit For
End If
Exit For
End If
Next
If Selection.Row = firstR Then End
Rows(Selection.Row - 1).EntireRow.Select
Loop While Selection.Row >= firstR
Application.ScreenUpdating = True
End Sub
'****
'lSteph
"JC" <jc@sportif.net> a écrit dans le message de news:
415e9416$0$7327$636a15ce@news.free.fr...
euh ça ne marche pas
erreur dès dim r as range
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
OUwMR7GqEHA.3424@TK2MSFTNGP12.phx.gbl...
Bonjour,
Pour une sélection
Essaie celle-ci:
'*******
'dans module standard
'*****
Sub supsitraits()
'supprime de la sélection
'les lignes commençant par --
Dim r as range
Dim c as range
For Each r In Selection.Cells.Rows
For Each c In r.Cells
If c <> "" Then
If Mid(c, 1, 2) = "--" Then
c.EntireRow.Delete
Exit For
Else
Exit For
End If
End If
Next c
Next r
End Sub
'****
'lSteph
"JC" <jc@sportif.net> a écrit dans le message de news:
415e8194$0$7345$636a15ce@news.free.fr...
Bonjour,
J'aimerai supprimer les lignes dont les premiiers caractères sont des
traits
(---------) comment faire ???
Bonjoir, Finalement pour les lignes entières de la feuille correspondant à une sélection de cellules soit si la première chaîne rencontrée dans la ligne comporte au moins "--" deux tirêts ( ..désolé AV avec un .find , je ne trouve pas)
Sub supsitraits()
Dim firstR As Integer firstR = Selection.Cells(1).Row Application.ScreenUpdating = False
Selection.Rows(Selection.Rows.Count).Select Do For Each c In Selection.EntireRow.Cells If c <> "" Then If Mid(c, 1, 2) = "--" Then c.EntireRow.Delete Exit For End If Exit For End If Next If Selection.Row = firstR Then End Rows(Selection.Row - 1).EntireRow.Select Loop While Selection.Row >= firstR
Application.ScreenUpdating = True End Sub '**** 'lSteph
"JC" a écrit dans le message de news: 415e9416$0$7327$
euh ça ne marche pas erreur dès dim r as range "LeSteph" a écrit dans le message de news:
Bonjour, Pour une sélection Essaie celle-ci: '******* 'dans module standard '***** Sub supsitraits() 'supprime de la sélection 'les lignes commençant par -- Dim r as range Dim c as range For Each r In Selection.Cells.Rows For Each c In r.Cells If c <> "" Then If Mid(c, 1, 2) = "--" Then c.EntireRow.Delete Exit For Else Exit For End If End If Next c Next r End Sub '**** 'lSteph "JC" a écrit dans le message de news: 415e8194$0$7345$
Bonjour,
J'aimerai supprimer les lignes dont les premiiers caractères sont des traits (---------) comment faire ???
merci
LeSteph
Re, A propos(chez moi la tienne me met le sablier et s'arrête au bout de plein de tours sans enlever les lignes à --).. mais tu as dû t'en rendre compte. Aussi , dans l'entretemps j'en ai fait une qui semble fonctionner sans problème sur la base d'une sélection et en tenant compte de tes conseils judicieux : j'ai mis un do loop while qui remonte les lignes et teste chaque cellule dès que l'une n'est pas vide la ligne entière est supprimée si le contenu commence par deux tirets.
Merci encore et comme dirait qq'un d'autre ce fut un plaisir Bon week end à toi aussi.
lSteph
"Joel" a écrit dans le message de news: 415ea940$0$9474$
Comme dirait quelqu'un de connu ;-)
Content de t'avoir rendu service ...
Bon week-end ;-) --
Bien cordialement,
Joël GARBE www.joelgarbe.fr "LeSteph" a écrit dans le message de news: eUiMX$
oupss... viens de comprendre la branche sur laquelle je suis assis ainsi une ligne sur deux s'il y a des "--" partout Bien vu!
Merci Joël
"Joel" a écrit dans le message de news: 415e9cc9$0$3035$
Bonjour Le Steph !!
Une suggestion (si je peux me permettre,
quand on supprime des lignes, ne vaut-il pas mieux ommencer par la dernière (au cas où 2 lignes successives doivent être supprimées...)
Sub SupprimerTiret() Dim i As Long For i = 65536 To 1 Step -1 Application.StatusBar = "Test ligne " & i If InStr(1, Cells(i, 1), "---") > 1 Then Cells(i, 1).EntireRow.Delete End If Next Application.StatusBar = False End Sub
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "LeSteph" a écrit dans le message de news: uHw$
...et peut être remplace next r par next et next c par next
...les indices ici ne servent pas
Re,
A propos(chez moi la tienne me met le sablier et s'arrête au bout de plein
de tours sans enlever les lignes à --).. mais tu as dû t'en rendre compte.
Aussi , dans l'entretemps j'en ai fait une qui semble fonctionner
sans problème sur la base d'une sélection et en tenant compte de tes
conseils
judicieux : j'ai mis un do loop while qui remonte les lignes et teste chaque
cellule
dès que l'une n'est pas vide la ligne entière est supprimée si le contenu
commence par deux tirets.
Merci encore et comme dirait qq'un d'autre
ce fut un plaisir
Bon week end à toi aussi.
lSteph
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de news:
415ea940$0$9474$8fcfb975@news.wanadoo.fr...
Comme dirait quelqu'un de connu ;-)
Content de t'avoir rendu service ...
Bon week-end ;-)
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
eUiMX$HqEHA.348@TK2MSFTNGP15.phx.gbl...
oupss...
viens de comprendre
la branche sur laquelle je suis assis
ainsi une ligne sur deux
s'il y a des "--" partout
Bien vu!
Merci Joël
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de news:
415e9cc9$0$3035$8fcfb975@news.wanadoo.fr...
Bonjour Le Steph !!
Une suggestion (si je peux me permettre,
quand on supprime des lignes, ne vaut-il pas mieux ommencer par la
dernière (au cas où 2 lignes successives doivent être supprimées...)
Sub SupprimerTiret()
Dim i As Long
For i = 65536 To 1 Step -1
Application.StatusBar = "Test ligne " & i
If InStr(1, Cells(i, 1), "---") > 1 Then
Cells(i, 1).EntireRow.Delete
End If
Next
Application.StatusBar = False
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
uHw$reHqEHA.3668@TK2MSFTNGP15.phx.gbl...
...et peut être remplace
next r
par
next
et
next c
par
next
Re, A propos(chez moi la tienne me met le sablier et s'arrête au bout de plein de tours sans enlever les lignes à --).. mais tu as dû t'en rendre compte. Aussi , dans l'entretemps j'en ai fait une qui semble fonctionner sans problème sur la base d'une sélection et en tenant compte de tes conseils judicieux : j'ai mis un do loop while qui remonte les lignes et teste chaque cellule dès que l'une n'est pas vide la ligne entière est supprimée si le contenu commence par deux tirets.
Merci encore et comme dirait qq'un d'autre ce fut un plaisir Bon week end à toi aussi.
lSteph
"Joel" a écrit dans le message de news: 415ea940$0$9474$
Comme dirait quelqu'un de connu ;-)
Content de t'avoir rendu service ...
Bon week-end ;-) --
Bien cordialement,
Joël GARBE www.joelgarbe.fr "LeSteph" a écrit dans le message de news: eUiMX$
oupss... viens de comprendre la branche sur laquelle je suis assis ainsi une ligne sur deux s'il y a des "--" partout Bien vu!
Merci Joël
"Joel" a écrit dans le message de news: 415e9cc9$0$3035$
Bonjour Le Steph !!
Une suggestion (si je peux me permettre,
quand on supprime des lignes, ne vaut-il pas mieux ommencer par la dernière (au cas où 2 lignes successives doivent être supprimées...)
Sub SupprimerTiret() Dim i As Long For i = 65536 To 1 Step -1 Application.StatusBar = "Test ligne " & i If InStr(1, Cells(i, 1), "---") > 1 Then Cells(i, 1).EntireRow.Delete End If Next Application.StatusBar = False End Sub
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "LeSteph" a écrit dans le message de news: uHw$
...et peut être remplace next r par next et next c par next
...les indices ici ne servent pas
AV
( ..désolé AV avec un .find , je ne trouve pas)
If Not c.Find("--") Is Nothing Then... ou encore If Evaluate("isnumber(find(""--""," & """" & c & """" & "))") Then...
Mais avec "Mid" ou "Left" ça me semble très bien !
AV
( ..désolé AV avec un .find , je ne trouve pas)
If Not c.Find("--") Is Nothing Then...
ou encore
If Evaluate("isnumber(find(""--""," & """" & c & """" & "))") Then...
Mais avec "Mid" ou "Left" ça me semble très bien !
If Not c.Find("--") Is Nothing Then... ou encore If Evaluate("isnumber(find(""--""," & """" & c & """" & "))") Then...
Mais avec "Mid" ou "Left" ça me semble très bien !
AV
LeSteph
...merci, en fait je parlais d'un find("*"... comme tu le proposais pour limiter la recherche et exécuter récursivement les suppressions de ligne et c'est là que je coincais , pas pour l'extraction de chr effectivement Mid ou autre font l'affaire ..; Enfin je m'en sors avec un do loop while..mais j'avoues que c'est un peu tordu.
Bonne soirée.
"AV" a écrit dans le message de news: %23VogJ$
( ..désolé AV avec un .find , je ne trouve pas)
If Not c.Find("--") Is Nothing Then... ou encore If Evaluate("isnumber(find(""--""," & """" & c & """" & "))") Then...
Mais avec "Mid" ou "Left" ça me semble très bien !
AV
...merci,
en fait je parlais d'un find("*"...
comme tu le proposais pour limiter la recherche et exécuter récursivement
les suppressions de ligne
et c'est là que je coincais , pas pour l'extraction de chr
effectivement Mid ou autre font l'affaire ..;
Enfin je m'en sors avec un do loop while..mais j'avoues que c'est un peu
tordu.
Bonne soirée.
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
%23VogJ$JqEHA.3520@TK2MSFTNGP11.phx.gbl...
( ..désolé AV avec un .find , je ne trouve pas)
If Not c.Find("--") Is Nothing Then...
ou encore
If Evaluate("isnumber(find(""--""," & """" & c & """" & "))") Then...
Mais avec "Mid" ou "Left" ça me semble très bien !
...merci, en fait je parlais d'un find("*"... comme tu le proposais pour limiter la recherche et exécuter récursivement les suppressions de ligne et c'est là que je coincais , pas pour l'extraction de chr effectivement Mid ou autre font l'affaire ..; Enfin je m'en sors avec un do loop while..mais j'avoues que c'est un peu tordu.
Bonne soirée.
"AV" a écrit dans le message de news: %23VogJ$
( ..désolé AV avec un .find , je ne trouve pas)
If Not c.Find("--") Is Nothing Then... ou encore If Evaluate("isnumber(find(""--""," & """" & c & """" & "))") Then...
Mais avec "Mid" ou "Left" ça me semble très bien !