Macro excel

richard.rda -  
 KdTcA -
bonjour,
SVP j'ai un tableau EXCEL avec en colonne C des valeurs (négatives, nulles ou positives).
Je voudrais par une macro :
pouvoir supprimer automatiquement les lignes où la valeur en cellule C est : positive ou nulle.

Merci à celui ou celle qui m'apportera la solution
A voir également:

29 réponses

KdTcA
 
je te la ramène dès que c'est fait!

En même temps moi aussi j'ai du boulot mine de rien! ;)
0
KdTcA
 
Ce code marche:
*si ton tableau de recherche débute en A1 et fini en Cn
*si rien n'existe en Z1 jusque ABn
Sub une()
'
' une Macro
' Macro enregistrée le 02/08/2005 par AUDIBERT.R


DerniereCellule = Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("C65536").End(xlUp).Row
k = 1
For i = 1 To DerniereCellule
If Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("C" & i & "").Value < 0 Then
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("A" & i & ":C" & i & "").Copy
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("Z" & k & "").Select
ActiveSheet.Paste
k = k + 1
End If
Next i

Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("A1:C" & DerniereCellule & "").Delete
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("Z1:AB" & k & "").Cut ("A1")


End Sub


A tester...
0
Richard.RdA
 
c'est presque çà:

encore un dernier bug à la fin dans la derniere ligne avand End sub :

message d'erreur :

erreur d'exécution 10004
la méthode cut de la classe range à échoué

et il reste 2 colonnes U et V avant mon nouveau tableau recopié et conforme de W à AB
0
KdTcA
 
Y'a ptet un espace de trop entre Cut et (

Sinon pas compris ta dernière phrase...
0

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

Posez votre question
Richard.RdA
 
j'enlève l'espace et il revient le têtu

et toujours même message d'erreur.
(la methode cut de la clase range à échoué)

je disais qu'après que mon tableau ait été recopié en colonnes W à AB

il reste 2 colonnes vides inutiles U eu V (c'est peut-être en rapport avec le message d'erreur)
(autrement dit je voudrais que ma feuille débute en colonne W)
0
KdTcA
 
En fait mon cut sert à couper le tableau écrit de W à AB pour le coller à la place de l'ancien...

mais apparemment il veut pas le couper! :S

essayes çà :

Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("Z1:AB" & k & "").Select
Selection.cut("A1")

ou
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("Z1:AB" & k & "").Select
Selection.cut
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("A1").Paste
0
Richard.RdA
 
marche avec ni l'une ni l'autre des codes.

et nouveau message avec le second code :

erreur 438
propriété ou méthode non gérée par l'objet

petite suggestion :
pourquoi ne teste tu pas sur un petit excel avant de répondre ?
on gagnerait du temps tous les 2

Merci encore et à très bientôt avec ta solution finale.
0
KdTcA
 
code = bewi .... que je suis bêteeeeeeeeeeee

Sub une()
'
' une Macro
' Macro enregistrée le 02/08/2005 par AUDIBERT.R


DerniereCellule = Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("C65536").End(xlUp).Row
k = 1
For i = 1 To DerniereCellule
If Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("C" & i & "").Value < 0 Then
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("A" & i & ":C" & i & "").Copy
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("Z" & k & "").Select
ActiveSheet.Paste
k = k + 1
End If
Next i

Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("A1:C" & DerniereCellule & "").Delete
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("w1:Y" & k & "").Copy
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("A1").Select
ActiveSheet.Paste
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("w1:Y" & k & "").Delete

End Sub


@+ Problème résolu!
0
Richard.RdA
 
Youpi, ça marche !

Un grand merci pour ton aide et 1000 excuses pour le temps que je t'ai fais perdre
Richard
-1