Suppresion automatique de ligne

anisbens45

XLDnaute Nouveau
Bonjour a tous,
Dans mon programme, je tente de creer une suppression automatique de ligne "Si pour cette colonne, il y a un vide dans une cellule alors on supprime la ligne".

Le code que j'ai ecris est :

Code:
For i = 1 To a
If Cells(1, i) = Prix Then
For j = 2 To b
If Cells(j, i) = "" Then
Cells(j, i).EntireRow.Delete
End If
Next j
End If
Next i

Une fois le code execute, cela se met a bugger et le programme ne finit pas de s'executer. Je dois quitter Excel.

Quelqu'un a une idee sur la provenance de ce bugg ? Comment y remedier ?

Merci d'avance,

Cordialement.
 

Pierrot93

XLDnaute Barbatruc
Re : Suppresion automatique de ligne

Bonjour,

on ne voit pas que tes variables "a" et "b" soient déclarées / initialisées dans ton code... quand tu supprimes des lignes, préférable de commencer par la dernière ligne et remonter..... Difficile d'en dire plus, juste avec un bout de code jeté sur un post...

bonne journée
@+
 

anisbens45

XLDnaute Nouveau
Re : Suppresion automatique de ligne

Heu oui parce que c une partie du code, desole, je pensais que le reste etait sans interet.
A priorii, le souci des variables a et b (pour faire un test, g mis une valeur 80 a chacune par exemple) mais de la suppression de lignes. Je vais essayer de commencer par les dernieres lignes.
Merci.
 

mutzik

XLDnaute Barbatruc
Re : Suppresion automatique de ligne

bonjour, salut Pierrot

pour la variable j, elle doit être égale à ton nombre de colonnes utilisées
- attention, tu ne testes la cellule i,j que si elle contient une cellule vide, les formules et les valeurs 0 seront considérées comme une cellule remplie
 

leop93

XLDnaute Occasionnel
Re : Suppresion automatique de ligne

Bonjour Anisbens

Peut être que ça pourrait faire le job (en tout cas chez moi ça le fait):

Code:
'======================================================================
'Fonction qui permet de supprimer les lignes vides.
'======================================================================
Sub delemptylines()

On Error Resume Next

Dim i&

  For i = 1 To [I65536].End(xlUp).Row

    Range("A"& i).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

  Next
 
End Sub

A adapter bien sûr. Ou si tu uploades ton fichier sans données confidentielles, je peux te l'adapter. ;)

Bon appétit

Leop93

EDIT: Bonjour Staple, Pierrot, Mutzik... Et soyons fou... Bonjour moi même... :cool:
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 136
Membres
104 044
dernier inscrit
petitchan