VBA Excel supprimer des lignes grâce à un mot
Sabrina
-
kalek9 -
kalek9 -
VBA EXCEL - Créer macro supprimer des lignes
Bonjour,
J'ai une liste de données dans excel et j'aimerais créer une macro qui a chaque fois qu'il voit apparaître un mot, il supprime la ligne qui le concerne. Je suis très débutante et je n'y arrive pas.
Merci de votre aide!
Bonjour,
J'ai une liste de données dans excel et j'aimerais créer une macro qui a chaque fois qu'il voit apparaître un mot, il supprime la ligne qui le concerne. Je suis très débutante et je n'y arrive pas.
Merci de votre aide!
A voir également:
- Supprimer une ligne vba
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Partager photos en ligne - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Supprimer pub youtube - Accueil - Streaming
5 réponses
bonjour,
le mot recherché est-il toujours dans la même colonne ?
Ta macro doit-elle faire toute les lignes ou c'est ligne par ligne ?
Au cas ou tu n'a pas besoins d'autre chose voila la commande pour supprimer une ligne
Worksheets("Sheet1").Rows(3).Delete
sheet1= le nom de la feuille
3 = le N° de la ligne
Attention, quand tu supprime une ligne, tout est mis a jour immédiatement, donc si, par exemple tu veux supprimé le mot TEST et dans la ligne 3 et 4 il y a TEST, la premiere commande va supprimé la ligne 3, mais la suivante va être de nouveau la ligne 3 donc tu doit retesté la même ligne.
J'espère avoir été assé clair.
A+
louis
le mot recherché est-il toujours dans la même colonne ?
Ta macro doit-elle faire toute les lignes ou c'est ligne par ligne ?
Au cas ou tu n'a pas besoins d'autre chose voila la commande pour supprimer une ligne
Worksheets("Sheet1").Rows(3).Delete
sheet1= le nom de la feuille
3 = le N° de la ligne
Attention, quand tu supprime une ligne, tout est mis a jour immédiatement, donc si, par exemple tu veux supprimé le mot TEST et dans la ligne 3 et 4 il y a TEST, la premiere commande va supprimé la ligne 3, mais la suivante va être de nouveau la ligne 3 donc tu doit retesté la même ligne.
J'espère avoir été assé clair.
A+
louis
Bonjour,
C'est un peu plus compliqué mais pas trop...
A+
C'est un peu plus compliqué mais pas trop...
Sub SupprimerligneAvecMerge()
Dim Lig As Long
Dim Col As Integer
Dim Mg, TB
'pour l'exemple, la colonne à tester =3
Col = 3
For Lig = Cells(65536, Col).End(xlUp).Row To 1 Step -1
Set Mg = Cells(Lig, Col).MergeArea
TB = Split(Mg.Address, ":")
If Cells(Lig, TB(0)).Value = "tonmot" Then
Rows(Lig).Delete
End If
Next Lig
End Sub
A+
Bonjour,
Merci pour les Codes précédent.
J'ai a supprimer des lignes qui contienne un mot particuliers donc j'ai bien repris le code de kyo et il fonction pour une partie des lignes mais d'est que j'ai des céllule fusionné elle ne fonctionne plus esque vous auriez une solution ?
bonne journée et merci d'avance.
Merci pour les Codes précédent.
J'ai a supprimer des lignes qui contienne un mot particuliers donc j'ai bien repris le code de kyo et il fonction pour une partie des lignes mais d'est que j'ai des céllule fusionné elle ne fonctionne plus esque vous auriez une solution ?
bonne journée et merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour ta réponse!
Le mot recherché change de ligne à chaque fois. C'est que je vais chercher des données grâce à SQL et les données change à chaque jour. Donc la ligne 3 un matin peut contenir le mot que je veux supprimer des fois non.
Le mot est toujours dans la même colonne, mais jamais sur la même ligne.
Aurais-tu une solution?
Sabrina
Il faut juste que tu remplaces "tonmot" par le mot qui te sert de critère (n'oublie pas les guillemets).
Je suppose ici que ton mot est dans la première colonne. Si ce n'est pas le cas, là où il est écrit cells(b,1) change le 1 par le numéro de ta colonne (1 pour colonne A, 2 pour colonne B, 3 pour colonne C...)
Bonne chance :)
Sub Supprimerligne() Dim a As Long Dim b As Long a = Range("A65536").End(xlUp).Row For b = a To 1 Step -1 If Cells(b, 1).Value = "tonmot" Then Rows(b).Delete End If Next b End SubA+
louis