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

Suppression de certaines lignes

10 réponses
Avatar
Dom
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10 colonnes A
à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du tout",
les autres colonnes ont des données alphanumériques sur toutes les lignes,
lesquelles sont totalement inutiles sauf quand la colonne A comporte le dit
numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.

10 réponses

Avatar
Papyjac
Bonjour Dom,

Tu fais un tri sur la colonne A pour regrouper les valeurs vides (en bas en
général)
ensuite tu sélectionnes le paquet du bas et du détruis tous d'un seul coup



--
P a p y j a c

"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de
news:uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10 colonnes
A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes les
lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.












Avatar
Dom
Bonsoir Papyjac,

Merci de ta réponse, mais cela je sais le faire, et épithète que je me suis
mal exprimé :-)

Ma question n'était pas assez précise : je souhaite réaliser automatiquement
cette action avec une macro quel que soit l'emplacement des valeurs vides.

Cordialement

Dominique (un autre papy depuis 4 mois, le pied absolu !)


"Papyjac" <papyjac(supprimerceci)@free.fr> a écrit dans le message de news:

Bonjour Dom,

Tu fais un tri sur la colonne A pour regrouper les valeurs vides (en bas
en général)
ensuite tu sélectionnes le paquet du bas et du détruis tous d'un seul coup



--
P a p y j a c

"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de
news:uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes les
lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.















Avatar
Jacky
Bonsoir,
..comment supprimer automatiquement toutes les lignes dont la colonne A ne
contient aucune donnée



Je te propose deux solutions
1-Les données reste dans leurs classement d'origine(Temps de réponse plus
long)
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
MsgBox i
Next
End Sub
'-------------
2- avec tri selon la colonne A (plus rapide)
'-------------
Sub jj2()
x = [a65536].End(3).Row
Range("A1:j" & x).Sort Key1:=Range("A1"), Order1:=xlAscending
y = [a65536].End(3).Row + 1
Rows(y & ":" & x).Delete
End Sub
'---------------

--
Salutations
JJ


"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:
uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10 colonnes
A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes les
lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.











Avatar
Philippe.R
Bonsoir,
Avec ceci, à coller dans un module standard :

Sub suplignes()
Dim zz As Long, i As Long
zz = Range("b6543").End(xlUp).Row
For i = zz To 1 Step -1
If Cells(i, 1).Value = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub

effectuera le travail sur la feuille active

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de
news:%
Bonsoir Papyjac,

Merci de ta réponse, mais cela je sais le faire, et épithète que je me
suis mal exprimé :-)

Ma question n'était pas assez précise : je souhaite réaliser
automatiquement cette action avec une macro quel que soit l'emplacement
des valeurs vides.

Cordialement

Dominique (un autre papy depuis 4 mois, le pied absolu !)


"Papyjac" <papyjac(supprimerceci)@free.fr> a écrit dans le message de
news:
Bonjour Dom,

Tu fais un tri sur la colonne A pour regrouper les valeurs vides (en bas
en général)
ensuite tu sélectionnes le paquet du bas et du détruis tous d'un seul
coup



--
P a p y j a c

"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de
news:uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes
les lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le
numéro sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.



















Avatar
Jacky
re...
Tu auras compris que "MsgBox i" est à supprimer :o((
--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonsoir,
..comment supprimer automatiquement toutes les lignes dont la colonne A ne
contient aucune donnée



Je te propose deux solutions
1-Les données reste dans leurs classement d'origine(Temps de réponse plus
long)
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
MsgBox i
Next
End Sub
'-------------
2- avec tri selon la colonne A (plus rapide)
'-------------
Sub jj2()
x = [a65536].End(3).Row
Range("A1:j" & x).Sort Key1:=Range("A1"), Order1:=xlAscending
y = [a65536].End(3).Row + 1
Rows(y & ":" & x).Delete
End Sub
'---------------

--
Salutations
JJ


"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:
uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes les
lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.















Avatar
Dom
Merci à tous, je vais tester vos solutions demain et vous tiens ou courant.

Dominique.


"Jacky" a écrit dans le message de news:
%
Bonsoir,
..comment supprimer automatiquement toutes les lignes dont la colonne A ne
contient aucune donnée



Je te propose deux solutions
1-Les données reste dans leurs classement d'origine(Temps de réponse plus
long)
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
MsgBox i
Next
End Sub
'-------------
2- avec tri selon la colonne A (plus rapide)
'-------------
Sub jj2()
x = [a65536].End(3).Row
Range("A1:j" & x).Sort Key1:=Range("A1"), Order1:=xlAscending
y = [a65536].End(3).Row + 1
Rows(y & ":" & x).Delete
End Sub
'---------------

--
Salutations
JJ


"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:
uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes les
lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.















Avatar
Philippe.R
Bonsoir Jacky,
Il est préférable amha de compter les lignes sur une autre colonne que la
première, celle ci pouvant contenir des vides.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Jacky" a écrit dans le message de
news:%
Bonsoir,
..comment supprimer automatiquement toutes les lignes dont la colonne A ne
contient aucune donnée



Je te propose deux solutions
1-Les données reste dans leurs classement d'origine(Temps de réponse plus
long)
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
MsgBox i
Next
End Sub
'-------------
2- avec tri selon la colonne A (plus rapide)
'-------------
Sub jj2()
x = [a65536].End(3).Row
Range("A1:j" & x).Sort Key1:=Range("A1"), Order1:=xlAscending
y = [a65536].End(3).Row + 1
Rows(y & ":" & x).Delete
End Sub
'---------------

--
Salutations
JJ


"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:
uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes les
lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le numéro
sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.















Avatar
Jacky
Bonsoir Philippe,

Oui, tu as tout à fait raison, erreur de débutant.
Donc
For i = [b65536].End(3).Row To 1 Step -1
et
x = [b65536].End(3).Row

Sauf si Be43
zz = Range("b6543").End(xlUp).Row




;o))
--
Salutations
JJ (éternel débutant)


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:

Bonsoir Jacky,
Il est préférable amha de compter les lignes sur une autre colonne que la
première, celle ci pouvant contenir des vides.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Jacky" a écrit dans le message de
news:%
Bonsoir,
..comment supprimer automatiquement toutes les lignes dont la colonne A
ne contient aucune donnée



Je te propose deux solutions
1-Les données reste dans leurs classement d'origine(Temps de réponse plus
long)
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
MsgBox i
Next
End Sub
'-------------
2- avec tri selon la colonne A (plus rapide)
'-------------
Sub jj2()
x = [a65536].End(3).Row
Range("A1:j" & x).Sort Key1:=Range("A1"), Order1:=xlAscending
y = [a65536].End(3).Row + 1
Rows(y & ":" & x).Delete
End Sub
'---------------

--
Salutations
JJ


"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:
uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes
les lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le
numéro sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.


















Avatar
Alain L
Bonjour,

En général pour ce genre de manip:
- j'insère une colonne; colonne A de préférence; que je
nomme NL (NuméroLigne)
- avec la fonction série, je numérote de la ligne 2 à la fin
- je fais un tri; dans ce cas sur la col B et suppression
des lignes ou Bx est vide
pour finir
- un tri sur la col A dans l'ordre croissant remet tout dans
l'ordre d'origine
- suppression de la col A qui ne sert plus à rien

Ca évite les boucles For ... To .... remplacé par les
fonctions ci-dessous à conserver dans un module "Utilitaire"

Function LASTCOL()
Selection.End(xlToRight).Select
LLCOL = ActiveCell.Column
End Function

Function MaxDroite()
Selection.End(xlToRight).Select
End Function

Function MAXBAS()
Selection.End(xlDown).Select
End Function

Function MAXHAUT()
Selection.End(xlUp).Select
End Function

Function MAXGAUCHE()
Selection.End(xlToLeft).Select
End Function

A+

"Jacky" a écrit dans le message de news:
#
Bonsoir Philippe,

Oui, tu as tout à fait raison, erreur de débutant.
Donc
For i = [b65536].End(3).Row To 1 Step -1
et
x = [b65536].End(3).Row

Sauf si Be43
>>zz = Range("b6543").End(xlUp).Row
;o))
--
Salutations
JJ (éternel débutant)


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le


message de news:

> Bonsoir Jacky,
> Il est préférable amha de compter les lignes sur une


autre colonne que la
> première, celle ci pouvant contenir des vides.
> --
> Avec plaisir
> http://dj.joss.free.fr/trombine.htm
> http://jacxl.free.fr/mpfe/trombino.html
> Philippe.R
> Pour se connecter au forum :
> http://www.excelabo.net/mpfe/connexion.php
> News://news.microsoft.com/microsoft.public.fr.excel
> "Jacky" a écrit dans le message de
> news:%
>> Bonsoir,
>>>..comment supprimer automatiquement toutes les lignes


dont la colonne A
>>>ne contient aucune donnée
>>
>> Je te propose deux solutions
>> 1-Les données reste dans leurs classement


d'origine(Temps de réponse plus
>> long)
>> '------------
>> Sub jj()
>> For i = [a65536].End(3).Row To 1 Step -1
>> If Cells(i, 1) = "" Then Rows(i).Delete
>> MsgBox i
>> Next
>> End Sub
>> '-------------
>> 2- avec tri selon la colonne A (plus rapide)
>> '-------------
>> Sub jj2()
>> x = [a65536].End(3).Row
>> Range("A1:j" & x).Sort Key1:=Range("A1"),


Order1:=xlAscending
>> y = [a65536].End(3).Row + 1
>> Rows(y & ":" & x).Delete
>> End Sub
>> '---------------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans


le message de news:
>> uN1PM$
>>> Bonsoir tout le monde,
>>>
>>> Soit un fichier CSV importé dans Excel 97. Le fichier


comporte 10
>>> colonnes A à J et plusieurs centaines de lignes.
>>>
>>> La colonne A comporte soit un numéro sur 6 caractères,


soit "rien du
>>> tout", les autres colonnes ont des données


alphanumériques sur toutes
>>> les lignes, lesquelles sont totalement inutiles sauf


quand la colonne A
>>> comporte le dit numéro.
>>>
>>> Mon souci est le suivant : comment supprimer


automatiquement toutes les
>>> lignes dont la colonne A ne contient aucune donnée (et


donc pas le
>>> numéro sur 6 caractères) ?
>>>
>>> Merci d'avance et bien amicordialement.
>>>
>>> Dominique.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>




Avatar
Dom
Bonsoir,

La solution 1 fonctionne avec un espace entre "" dans la ligne If Cells(i,
1)=...

La solution 2 ne fonctionne pas (ou j'ai commis une bourde), mais pas grave,
la 1 me va très bien (avec l'espace en plus).

Encore Merci.

Dominique.

"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:

Merci à tous, je vais tester vos solutions demain et vous tiens ou
courant.

Dominique.


"Jacky" a écrit dans le message de news:
%
Bonsoir,
..comment supprimer automatiquement toutes les lignes dont la colonne A
ne contient aucune donnée



Je te propose deux solutions
1-Les données reste dans leurs classement d'origine(Temps de réponse plus
long)
'------------
Sub jj()
For i = [a65536].End(3).Row To 1 Step -1
If Cells(i, 1) = "" Then Rows(i).Delete
MsgBox i
Next
End Sub
'-------------
2- avec tri selon la colonne A (plus rapide)
'-------------
Sub jj2()
x = [a65536].End(3).Row
Range("A1:j" & x).Sort Key1:=Range("A1"), Order1:=xlAscending
y = [a65536].End(3).Row + 1
Rows(y & ":" & x).Delete
End Sub
'---------------

--
Salutations
JJ


"Dom" <domlpnLPN(enleverlesLPN)@noos.fr> a écrit dans le message de news:
uN1PM$
Bonsoir tout le monde,

Soit un fichier CSV importé dans Excel 97. Le fichier comporte 10
colonnes A à J et plusieurs centaines de lignes.

La colonne A comporte soit un numéro sur 6 caractères, soit "rien du
tout", les autres colonnes ont des données alphanumériques sur toutes
les lignes, lesquelles sont totalement inutiles sauf quand la colonne A
comporte le dit numéro.

Mon souci est le suivant : comment supprimer automatiquement toutes les
lignes dont la colonne A ne contient aucune donnée (et donc pas le
numéro sur 6 caractères) ?

Merci d'avance et bien amicordialement.

Dominique.