Suppression cellule si elle contient un mot précis

Suppression cellule si elle contient un mot précis

Bonjour,

Je souhaiterait savoir si il est possible par une macro ou une fonction de supprimer une cellule de la colonne A, lorsque qu'un mot précis est trouvé dans cette même colonne.

exemple :

A1 contient "bateau" ---> supprimer la cellule

merci d'avance pour votre aide

Alex

Bonsoir,

Es-tu sûr de vouloir supprimer ?

La suppression d'une cellule fait remonter toutes les cellules suivantes de la colonne d'une ligne : tu supprimes A5, c'est A6 qui devient A5, A7 devient A6, et ainsi de suite...

Cordialement.

Bonjour,

oui c'est exactement ce que je veut faire.

en faite j'ai besoin d'une macro pour ensuite en faire un bouton cliquable qui m'éviterais a chaque fois de chercher les cellule contenant un mot précis et de faire clic droit -> supprimer -> décaler vers le haut.

merci d'avance pour cette solution.

Sub suppressioncellule()

For Each c In Range("A1", Range("A1048576").End(xlUp))
If InStr(c.Value, "bateau") Then c.Delete
Next

End Sub

Procédure à lancer par une autre procédure lui fournissant le mot critère de suppression :

Sub SuppriCel(mot As String)
    Dim c As Range
    Application.ScreenUpdating = False
    With ActiveSheet
        For Each c In .Range("A1").Resize(.Cells(.Rows.Count, 1).End(xlUp).Row)
            If c.Value Like "*" & mot & "*" Then c.Delete xlShiftUp
        Next c
    End With
End Sub

Adapter selon ton contexte.

Cordialement.

la solution proposer par melch ne fonctionne pas malheureusement cela me surligne en jaune "Sub suppressioncellule()"

MFerrand, j'aimerais savoir quel partie dois-je adapter dans la macro ?

et quand je la colle dans visual basic, et que je clique droit sur le bouton, elle n'apparait pas dans la fenêtre "affecter une macro"

comment faire pour que cela fonctionne ?

merci

Je te joins un fichier, car ça marche parfaitement chez moi :

Lis ce que j'ai écrit ! Une procédure dotée d'un argument (en l'occurrence le mot à chercher pour appliquer ou non la suppression) n'apparaît pas dans la boîte de dialogue macro. Elle ne peut être lancée que par une autre procédure, soit une macro qui la lance en lui passant le mot à chercher.

La macro n'est pas à modifier. Il faut écrire une macro pour la lancer.

Exemple :

Sub Supprimer()
    SuppriCel "bateau"
End Sub

ou bien :

Sub Supprimer()
    SuppriCel ActiveSheet.Range("K1").Value
End Sub

ou en lui faisant ouvrir une InputBox pour que l'utilisateur indique le mot...

ou autre...

je ne te suis pas Mferrand

ou dois je placer ce code ?

a la suite de :

Sub Supprimer()

SuppriCel "bateau"

?

Sub SuppriCel(mot As String)

Dim c As Range

Application.ScreenUpdating = False

With ActiveSheet

For Each c In .Range("A1").Resize(.Cells(.Rows.Count, 1).End(xlUp).Row)

If c.Value Like "*" & mot & "*" Then c.Delete xlShiftUp

Next c

End With

End Sub

merci d'avance pour tes conseils

melch ton dossier marche a la perfection seulement quand je l'insert dans mon tableur excel (2013)

un message d'erreur s'affiche me disant qu'il ne trouve pas l'objet dans la bibliothèque et me surligne toujour le titre de la macro en jaune, aurais tu une solution stp ?

partait du principe que je suis totalement novice en macro VBA excel et que le plus simple sera le mieux

Merci pour vos futur explications.

Peux-tu envoyer un fichier avec le code que tu as essayé d'intégrer ? Es-tu sûr de le mettre au bon endroit?

Bonjour,

Je t'invite à te rapprocher d'un cours de VBA pour acquérir les rudiments les plus élémentaires...

On va procéder autrement :

Sub SuppriCel()
    Dim c As Range, mot$
    Do While mot = ""
        mot = InputBox("Indiquer le mot dont la présence entraînera la suppression de la cellule " _
         & "en colonne A.", "Suppression de cellules")
    Loop
    Application.ScreenUpdating = False
    With ActiveSheet
        For Each c In .Range("A1").Resize(.Cells(.Rows.Count, 1).End(xlUp).Row)
            If c.Value Like "* " & mot & " *" Then c.Delete xlShiftUp
        Next c
    End With
End Sub

La macro apparaîtra dans la boîte de dialogue.

Et tu peux l'affecter à un bouton.

Cordialement.

melch a écrit :

Peux-tu envoyer un fichier avec le code que tu as essayé d'intégrer ? Es-tu sûr de le mettre au bon endroit?

bon alors le code que tu m'as envoyer fonctionnent très bien, ce que j'ai fait c'est que j'ai fait un glisser déposer de toutes mes feuilles sur le classeur que tu m'as envoyer et çà fonctionnent, donc je ne comprend pas pourquoi cela ne marchez pas avec mon classeur actuelle mais cela dit merci à toi pour ton aide qui à était précieuse sur mon projet.

j'aimerais par contre savoir comment tu fait a créer des bouton en couleur comme celui que tu à insérer dans ton exemple ?

car moi je passe par l'onglet développeur -> Insérer ->contrôle ActiveX

->contrôle de formulaire

peut importe le bouton sélectionner, tout est griser dans l'onglet " outils de dessin FORMAT " donc je ne peut choisir aucune couleur de remplissage.

Merci d'avance.

Alex.


Bonjour Mferrand,

justement j'aimerais commencer a me mettre dans le langage vba pour programmer moi même mes macro, quel livres ou formation à tu suivit pour cela ? t'es conseil sont les bienvenue

j'ai essayer ta macro est cela fonctionnent aussi donc merci du soutient .

Bonjour,

Les livres que j'ai pu utiliser il y a un peu plus d'une vingtaine d'années ne sont plus trouvables à ma connaissance aujourd'hui !

Mais tu trouveras des cours VBA sur ce site et les autres sites spécialisés, ainsi que des tutos permettant d'approfondir différents domaines.

Cordialement.

Alex38 :

J'ai simplement ajouté une forme : rectangle. Ensuite cette forme tu peux changer les couleurs/le texte.

Puis clique droit sur la forme, affecter une macro.

Rechercher des sujets similaires à "suppression contient mot precis"