Problème suppression lignes via macro
Fermé
manzono
-
17 févr. 2010 à 22:38
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 18 févr. 2010 à 20:49
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 18 févr. 2010 à 20:49
A voir également:
- Problème suppression lignes via macro
- Forcer suppression fichier - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Suppression page word - Guide
- Partager des photos via un lien - Guide
4 réponses
ton programme ne fonctionne pas bien car lorsque tu supprime ta ligne, tu te retrouve sur la ligne en dessous.
si jamais la cellule est vide, elle n'est pas analyser.
il faut que tu dise à ton programme de remonter d'une ligne à chaque fois qu'elle supprime une ligne. ainsi, ton programme de supprimer toute les lignes.
moi j'utilise le programme suivant:
dim i as integer
dim abc as string
'ensuite je vais à la fin du doc et je met le mot "FIN"
'je selectionne la première ligne : imaginon "A1"
range("A1").select
i=0
do
abc =activecell.offset(i,0)
if abc ="" then
activecell.entirerow.delete
i=i-1
else
end if
i=i+1
loop while abc <> "FIN"
si jamais la cellule est vide, elle n'est pas analyser.
il faut que tu dise à ton programme de remonter d'une ligne à chaque fois qu'elle supprime une ligne. ainsi, ton programme de supprimer toute les lignes.
moi j'utilise le programme suivant:
dim i as integer
dim abc as string
'ensuite je vais à la fin du doc et je met le mot "FIN"
'je selectionne la première ligne : imaginon "A1"
range("A1").select
i=0
do
abc =activecell.offset(i,0)
if abc ="" then
activecell.entirerow.delete
i=i-1
else
end if
i=i+1
loop while abc <> "FIN"
je fais la plupart de mes macros au boulo.
je t'ai filé le script que j'utilise d'habitude. mais j'ai l'impression que ça n'est pas exactement ça (car je l'ai fais de memoire, et honte pour moi, je n'ai pas excel sur mon pc)
demain je regarderai au boulo. ensuite je te filerai le bon script.
Mais sache qu'il y a encore d'autre façon de proceder.
par exemple,
tu peux appliquer un filtre excel.
avec le filtre, tu dit a excel de ne faire apparaitre que les lignes vides
tu selectionne tout et tu supprime toutes les lignes vides.
je t'ai filé le script que j'utilise d'habitude. mais j'ai l'impression que ça n'est pas exactement ça (car je l'ai fais de memoire, et honte pour moi, je n'ai pas excel sur mon pc)
demain je regarderai au boulo. ensuite je te filerai le bon script.
Mais sache qu'il y a encore d'autre façon de proceder.
par exemple,
tu peux appliquer un filtre excel.
avec le filtre, tu dit a excel de ne faire apparaitre que les lignes vides
tu selectionne tout et tu supprime toutes les lignes vides.
ok merci bcp ...
moi aussi c'est au boulot et aujourd'hui j'ai utilisé les filtres au lieu de me compliquer avec plusieurs boucles, c'est plus pratiques.
par contre je cherchais à supprimer les lignes dans lesquelles dans la colonne A apparaîtrait une cellule ayant un nombre de caractère différent de 15.
j'ai utilisé des boucles If en gros en mettant : si une cellule dans la colonne A a un nombre de caractère différent de 15 alors on supprime la ligne entière ou est cette cellule. Mais bon ca ne marche pas :-)
Si quelqu'un a une solution c'est bienvenue ^^
Merci à tous
moi aussi c'est au boulot et aujourd'hui j'ai utilisé les filtres au lieu de me compliquer avec plusieurs boucles, c'est plus pratiques.
par contre je cherchais à supprimer les lignes dans lesquelles dans la colonne A apparaîtrait une cellule ayant un nombre de caractère différent de 15.
j'ai utilisé des boucles If en gros en mettant : si une cellule dans la colonne A a un nombre de caractère différent de 15 alors on supprime la ligne entière ou est cette cellule. Mais bon ca ne marche pas :-)
Si quelqu'un a une solution c'est bienvenue ^^
Merci à tous
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
18 févr. 2010 à 20:49
18 févr. 2010 à 20:49
Bonjour,
C'est toujours pareil, pour une boucle qui supprime des lignes il faut partir de la dernière et remonter vers haut.
Ex:
eric
C'est toujours pareil, pour une boucle qui supprime des lignes il faut partir de la dernière et remonter vers haut.
Ex:
For lig = [A65536].End(xlUp).Row To 1 Step -1 If Cells(lig, 1) <> ... Then ... End If Next lig
eric