Supprime lignes vides sous 3 conditions

lefrizey

XLDnaute Nouveau
Bonjour à tous,

Je souhaite effacer entièrement une ligne dans une feuille si sur une même ligne, les cellules Ai, Bi et Gi sont vides.
J'ai écris une ligne de commande qui ne marche pas :

Sub SUP_LIGNES_CDTS()
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Range("A" & i) = "" And Range("B" & i) = "" And Range("G" & i) = "" Then Range("A" & i).EntireRow.Delete
next i
End sub


Merci à tous!
 
Dernière édition:

lefrizey

XLDnaute Nouveau
Re : Supprime lignes vides sous 3 conditions

Bjr Mutzik,
J'ai rectifié la syntaxe comme tu me l'as fait observé. C'est juste une omission, mais la macro avait correctement intégré cette condition. Peut-être c'est parce que j'introduis 3 conditions???
Ça ne marche toujours pas.
 

mutzik

XLDnaute Barbatruc
Re : Supprime lignes vides sous 3 conditions

re,

sur un petit nombre de ligne, j'ai fait le test et cela fonctionnait
par contre j'ai remplacé ton delete par select pour vérifier le fonctionnement
j'ai également dupliqué cette ligne en remplaçant partout ="" par =0
j'ai aussi déclaré ma variable i avec Dim i (ce qui est un très bonne habitude à prendre)


en exécution pas à pas dans VBA (par F8), cela fonctionne correctement, je viens de refaire le test

sinon dis-nous ou ça coince
 

Dull

XLDnaute Barbatruc
Re : Supprime lignes vides sous 3 conditions

Salut lefrizey, Bertrand, le Forum

C'est tout à fait normal tu prend pour colonne de référence une Colonne Vide
essaye avec la colonne B comme colonne de référence

Sub Suppr_Lignes_En_FONCT_3_Cell()
Dim i As Integer

'
' Suppr_Lignes_En_FONCT_3_Cell Macro
' Supprime la ligne entière si les cellules Ai, Bi et Gi sont vides
'

'
For i = Range("B65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) = 0 And Range("B" & i) = 0 And Range("G" & i) = 0 Then Range("A" & i).EntireRow.Delete
Next i


End Sub

Bonne Journée
 

natorp

XLDnaute Accro
Re : Supprime lignes vides sous 3 conditions

Bjr lefrizey et mutzik

avec cette ligne :
Code:
For i = Range("A65536").End(xlUp).Row To 2 Step -1

tu te positionnes sur la première cellule non vide de la colonne A en partant de la fin
or dans ton fichier toutes les cellules de la colonne A sont vides
inscrit un mot en A21 et lance la macro...

Cordialement, Gérard

Edit : bjr Dull
 

Discussions similaires

Réponses
6
Affichages
125
Réponses
21
Affichages
272

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa