Macro suppression de lignes sous condition
Résolu
CALI
-
CALI -
CALI -
Bonjour,
Je souhaiterais faire une macro qui supprime des lignes dans un tableau excel sous condition.
Après la ligne nommée TOTAL GENERAL, supprimer toutes les lignes.
Sachant que celle-ci peut se trouver n'importe ou?
Par avance merci de votre coopération.
Je souhaiterais faire une macro qui supprime des lignes dans un tableau excel sous condition.
Après la ligne nommée TOTAL GENERAL, supprimer toutes les lignes.
Sachant que celle-ci peut se trouver n'importe ou?
Par avance merci de votre coopération.
7 réponses
-
bonjour
un exemple à copier dans un module (Alt-F11 pour y accéder)
les constantes sont à adapter
Option Explicit Const F = "FEuil1" Const lideb = 1 Const codeb = 1 Const motcle = "TOTAL GENERAL" Public Sub SupprimeLignesApresMotCle() Dim li As Long, lifin As Long Dim mot As String, s As String lifin = Sheets(F).Cells(65536, codeb).End(xlUp).Row For li = lifin To lideb Step -1 s = Sheets(F).Cells(li, codeb) If s = motcle Then: Exit Sub If s <> motcle Then Sheets(F).Rows(li).Delete End If Next li End Sub
bonne suite -
bonjour,
J'ai testé cette macro mais çà ne marche pas.
Puis-je vous envoyer mon fichier?
Par avance, merci -
re
J'ai testé cette macro mais çà ne marche pas.
1. as tu copié la macro dans un module
2. as tu modifié les valeurs des constantes en les adaptant à ton fichier,
3. pour envoyer ton fichier, tu utilises cijoint.fr ou cjoint.com et tu joins le lien a ton prochain post
bonne suite -
bonjour
Voici le lien pour le fichier.
http://www.cijoint.fr/cjlink.php?file=cj201109/cijn1kqfy6.xls
Par avance, merci-
Bonjour
a eesayer
Option Explicit Const Cible As String = "total général" Sub supprimer_après() Dim Deb As Long, Ffin As Long With Sheets("MEUR Commissionnaire") Deb = .Cells.Find(Cible, , xlFormulas, , xlByRows, xlPrevious).Row + 1 fin = .Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row .Rows( Deb & ":" & fin).Clear End With End Sub
formules deb et fin d'après Alain Vallon (excelabo)
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
re
avec la macro de michel_m
https://www.cjoint.com/?0ItwlbICr9Z
RQ1. Ctrl+s pour lancer la macro
RQ2. j'ai rajouté une confirmation
bonne suite -
Salut CCM31
petits détails :o)
une constante se déclare avant la procédure (comme public, private...) pour pouvoir l'utiliser dans plusieurs procédures dans le p^rojet
m^me si ici, il n'y a qu'une proc, nous mettons en constante question de lisibilité et pour éviter de rentrer à l'intérieur de la proc
il faut déclarer le type de la constante
Const Cible as string="machin"
sinon Cible est considéré comme un variant ==> conso de Ram
voilà, surtout, ne prends pas ça mal -
salut michel_m
RQ1. Je sais, c'est à cause d'une sombre histoire de copier/coller
RQ2. Je ne connaissais pas la déclaration du type d'une constante chaine (chaine seulement ?)
RQ3. Rassures toi, apprendre quelque chose ne fait jamais mal !
bonne journée