Problème suppression lignes via macro
manzono
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai créé une macro permettant de supprimer des lignes dans lesquelles se trouvent des cellules vides.
Celle-ci fonctionne très bien sur des fichiers Excel "simples", mais dans le fichiers sur laquelle je l'exécute, la macro ne supprime pas toutes les lignes dans lesquelles il y a des cellules vides!
Quelqu'un aurait il une idée pour ce qui pourrait empêcher la suppression d'une ligne ?
J'ai vérifié le format des lignes qui ne se supprimaient pas, mais je n'ai rien pu trouver...
le code que j'ai utilisé est le suivant :
Sub supp()
Dim Cel_vide As Range
Dim ad_cel As Integer
For Each Cel_vide In Range('A1:F1000')
If Cel_vide.Value = '' Then
ad_cel = Cel_vide.Row
Rows(ad_cel).Delete
End If
Next Cel_vide
End Sub
Merci d'avance!
J'ai créé une macro permettant de supprimer des lignes dans lesquelles se trouvent des cellules vides.
Celle-ci fonctionne très bien sur des fichiers Excel "simples", mais dans le fichiers sur laquelle je l'exécute, la macro ne supprime pas toutes les lignes dans lesquelles il y a des cellules vides!
Quelqu'un aurait il une idée pour ce qui pourrait empêcher la suppression d'une ligne ?
J'ai vérifié le format des lignes qui ne se supprimaient pas, mais je n'ai rien pu trouver...
le code que j'ai utilisé est le suivant :
Sub supp()
Dim Cel_vide As Range
Dim ad_cel As Integer
For Each Cel_vide In Range('A1:F1000')
If Cel_vide.Value = '' Then
ad_cel = Cel_vide.Row
Rows(ad_cel).Delete
End If
Next Cel_vide
End Sub
Merci d'avance!
A voir également:
- Problème suppression lignes via macro
- Forcer suppression fichier - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Suppression compte gmail - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
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