Suppression de certaines lignes

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Papyjac
Le #17234981
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" 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.












Dom
Le #17235201
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"
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" 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.















Jacky
Le #17235481
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" 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.











Philippe.R
Le #17235471
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" 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" 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" 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.



















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


"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" 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.















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

Dominique.


"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" 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.















Philippe.R
Le #17236001
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" 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" 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.















Jacky
Le #17238621
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"
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" 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" 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.


















Alain L
Le #17240881
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" #
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"

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" > 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"

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.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>




Dom
Le #17303401
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"
Merci à tous, je vais tester vos solutions demain et vous tiens ou
courant.

Dominique.


"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" 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.



















Publicité
Poster une réponse
Anonyme