Supprimer une ligne en VBA

Résolu
elise -  
 elise -
Bonjour,

j'ai un bout de programme qui efface une ligne dont la deuxième colonne est nulle

Dim k As Long
Dim n As Long

For k = 0 To nbdefos - 1
If (Cells(k + 4, 2) > -3) Or (Cells(k + 4, 2) < -11.4) Then
Rows(k + 4).Select
Selection.ClearContents
n = n + 1
End If
Next

je voudrai plutôt supprimer la ligne, j'ai essayé:
q=k+4
Rows("q:q").Select
Selection.Delete Shift:=xlUp

ça ne fonctionne pas quand j'utilise une variable quelle que soit le type
avez -vous une idée du problème svp?

merci beaucoup
A voir également:

5 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Bonsoir,

Donne le n° de ligne à rows() :

For k = 0 To nbdefos - 1
If (Cells(k + 4, 2) > -3) Or (Cells(k + 4, 2) < -11.4) Then
Rows(k + 4).Delete Shift:=xlUp
n = n + 1
End If
Next k

Ca ne supprime la ligne dont la 2nde colonne est vide mais celle qui répond aux critères >-3 et <-11.4...
eric
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonsoir elise,

Au lieu de:
q=k+4
Rows("q:q").Select
Selection.Delete Shift:=xlUp

essaies
q=k+4
Rows(q).delete

Cordialement,

Michel
0
elise
 
bonsoir

j'ai trouvé pourquoi la fonction supprimer ne fonctionne pas, c'est parce qu'elle travaille dans un autre fichier que celle que je veux
mais ce que je ne comprend pas c'est pourquoi la fonction selection.clearcontents fonctionne dans le bon fichier et pas la fonction supprimer
vous auriez une idée?
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Re,

Bonsoir Eric, excuses moi, je n'avais pas rafraichi!

Elise

rows("q:q") est faux comme je te l'ai indiqué mais peut-^tre que nos posts se sont croisés
0

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

Posez votre question
elise
 
j'ai trouvé la solution

en fait j'ai un problème dans la gestion de mes indices, comme je supprime des lignes les indices de cellules ne correspondent plus

merci à vous deux de m'avoir aider
bonne soirée
0