|
|
|
|
Configuration: Windows XP
'lut
DerniereCellule = Application.Workbooks("ton_fichier.xls").Worksheets("Nom_de_ta_feuille").Range("C65536").End(xlUp).Row
For i = 1 To DerniereCellule
If Range("C" & i & "").value >= 0 then
Range("C" & i & "").delete
end if
next i
non? |
bien recu réponse si prompte et merci,
mais, je ne suis pas expert et ne sais pas : - où saisir cette macro ? - où doit débuter la saisie ? - comment la lancer ? sachant que je veux l'inclure dans une autre macro obtenue avec excel "macro, nouvelle macro encore merci pour votre patience et votre aide |
Tu crées un bouton et tu double clic dessus et tu inséres ce code dedans... |
vous êtes trop calé pour moi,
je ne comprends pas ce que vous me demandez: je souhaite inclure "votre petit programme" dans une macro ique j'ai établie dans mon fichier Excel en utilisant dans EXCEL :OUTILS-MACROS-NOUVELLE MACRO..." et la votre devrait me permettre de : dans une feuille de n lignes avec sur chaque ligne, en cellule C, des valeurs : négatives, ou nulles, ou positives. de supprimer les lignes entières où la valeur dans C est >=0 encore une fois merci pour votre aide et soyez indulgent, je n'ai pas votre connaissance en la matière. |
'lut
Quand veux tu lancer cette macro??. Par le biais de quelle action? |
en allant dans OUTILS, MACRO et nom de ma macro
je n'ai pas besoin de créer un bouton merci |
code = kida argh je vais bien tomber sur mon pseudo un jour!!!
un bouton c'est plus beau quand même! :S bon ben mais le code que j'ai dit à l'intérieur de çà: sub macro1() end sun() et tout ce code tu le mets dans la page vba d'excel pour cela : 1/ clic droit dans barre des taches > Visual Basic 2/ clic sur l'icone visual basic editor de la barre d'outils Visual Basic |
j'ai copié votre 1er envoi ainsi, et ca bugge
mon fichier : macrosupprimerligne ma feuille : essai 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 For i = 1 To 20 If Range("C" & i & "").Value >= 0 Then Range("c" & i & "").Delete End If Next i End Sub que faut-il corriger ? merci encore par avance |
Il te met quoi comme bug? |
"erreur d'exécution 40036
erreur definie par l'application ou l'objet" et c'est tout |
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
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("c" & i & "").Select
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("c" & i & "").Delete
End If
Next i
End Sub
Et avec çà? |
avec un copie coller de ce dernier envoi:
- le message d'erreur à disparu - seules les cellules C disparaissent (et non les lignes correspondantes) - il reste beaucoup de cellules C de valeur = 0 ou >=0 j'ai testé dan un petit tableau d'essai à 3 colonnes et 10 lignes et ça ne marche pas |
ahhhhhhh!!!!!!
C'était les lignes complètes que tu voulais supprimer... lol Bah remplace Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("c" & i & "").Select
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("c" & i & "").Delete par Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("c" & i & ":L" & i & "").Select
Application.Workbooks("macrosupprimerligne.xls").Worksheets("essai").Range("c" & i & ":L" & i & "").Delete si la dernière colonne de ta ligne est L sinon tu remplaces le L par la lettre de dernière colonne correspondante... |
on progresse:
en remplacant C par A dans la ligne se terminant par delete (sinon on continue à ne supprimer que la celluel C MAIS en exécutant la macro : il reste des lignes =0 et >0 pourquoi? pour arriver à mon résultat il me faut répéter plusieurs fois la macro, une fois devrait pourtant suffire ? |
parceque vous vous déplacez dans la boucle et que vous supprimez
des cellules et qu'excel ne sait plus ou il en est pour eviter cela on va proceder comme suit j'ajoute deux colonnes dans la premiere je mets =ligne() dans la seconde je mets =machintruc>=0 je copie les deux colonnes je fais collage spécial valeur au même emplacement je fais un tri sur la colonne vrai faux je selectionne la zone qui m'interesse (frontière vrai faux) fin ou début de tableau je fais une suppression de cette zone je demande le tri sur la colonne ou j'ai mis numéro de ligne je supprime cette colonne j'entonne un pean au mode allegretto elle est pas belle, la vie ? |
merci random!
j'y avais pensé aussi à ce problème mais plus moyen de me rappelr comment l'éviter... |
merci Random,
mais désolé c'est trop compliqué pour moi, j'ai 1 pb à presque chaque ligne : a) 1ère colonne : =ligne( ) faut'il saisir caractère à caractère ? et que mettre entre les parenthèses V b) 2ème colonne idem et par qoui dois je remplacer "machintruc" ? dois-je recopier ces 2 colonnes vers le bas et sur combien de lignes ? c) faire un tri sur colonne vrai faux je ne sais pas faire d) et idem pour la suite |
'lut
C'est peut être plus simple par macro de : 1/ copier chaque ligne dont la cellule C a une valeur inférieure à 0 2/ supprimer le premier tableau 3/ couper / coller au bon endroit le nouveau tableau non? |
plus simple comme ça ?
mais je ne sais pas faire cette macro merci |
Résultats pour macro excel
Résultats pour macro excel