Langage vba

Résolu/Fermé
bergnela Messages postés 3 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 5 novembre 2007 - 31 oct. 2007 à 14:36
 néné - 5 nov. 2007 à 18:34
Bonjour,
je ne suis pas très bon sur le langage vba de excel et j'ai besoin d'aide

j'aimerai creer une macro qui supprime toutes les lignes dont les cellules sont vides. Pour être plus clair, j'ai un tableau et il faut tester la 1ere cellulle de chaque ligne et si cette cellule est vide, alors il faut supprimer toutes la ligne
pouvez vous m'aider en me donnant 2 macro differente : une avec la formule "isempty" ou "isnull" et une avec un = "" ??
merci

voici la macro que j'ai fait et qui ne marche pas!

Sub suppr_ligne_si_cellule_vide()
'marche pas

For i = 100 To 1 Step -1

If (Cells(1, i).Value = "") Then
Rows(i).Select
Selection.Delete
End If
Next i


End Sub

7 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
31 oct. 2007 à 14:47
Bonjour,

fais plutôt qcq chose comme Rows(i).EntireRow.Delete
eric
0
bergnela Messages postés 3 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 5 novembre 2007
31 oct. 2007 à 14:49
euh... nan , cela ne marche pas nn +
le pb ac ma macro c'est qu'elle suppr toute mes données sauf celles placées sur la 1ere ligne...
c'est qq peu embetant!!
merci quand mm
0
PBGunner Messages postés 64 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 29 juillet 2008 64
31 oct. 2007 à 14:53
A vue de nez, sans approfondir, il y a une inversion dans la coordonnées de la cellule:Cells(1, i)
avec cette fonction ta variable i pointe la colonne et pas la ligne...
Rappel de la syntaxe: Cells(ligne, colonne)

en corrigeant par Cells(i,1) je ne vois pas pourquoi ca ne fonctionnerai pas...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
31 oct. 2007 à 14:53
Ben oui, tu as inversé les parametre de cells(ligne,colonne)
eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
filouM Messages postés 2 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 2 novembre 2007
2 nov. 2007 à 01:58
essaye cette macro
Sub Macro1()

Application.ScreenUpdating = False

sup_de_ligne:
Range("A65536").Select
Selection.End(xlUp).Select
l1 = Selection.Row()
For l2 = 1 To 65536: If Range("A" & l2).Value = "" Then Exit For
Next l2
If l2 = l1 + 1 Then End

Rows(l2).Delete Shift:=xlUp
GoTo sup_de_ligne

suite:


End Sub
0
bergnela Messages postés 3 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 5 novembre 2007
5 nov. 2007 à 10:30
oups, la boulette!
oui j'ai inversé les deux parametres, sa va mieux maintenant!
merci bcp!!

des oeils neufs sa aide!
0
Bonjour,
Sub suppr_ligne_si_cellule_vide()
For Each c In [b2:b500] 'plage a traitée par exemple
Application.ScreenUpdating = False
c.Select
If c = "" Then
Selection.Delete Shift:=xlUp
End If
Next
Application.ScreenUpdating = True
Range("a1").Select
End Sub
0