Supprimer une ligne en VBA

Résolu/Fermé
elise - 19 juin 2008 à 22:12
 elise - 19 juin 2008 à 23:07
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
19 juin 2008 à 22:17
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 juin 2008 à 22:20
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
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 juin 2008 à 22:41
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
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