Supp du contenu de cellule en fonction de leurs noms

Bonjour à tous,

Après avoir fait pas mal de recherche sur internet, dans différents livres et dans l’aide de VB, j’ai le sentiment d’être dans une impasse

Je souhaiterais remplacer les valeurs des cellules dont le nom commence par "Motdepasse" par "*****"

Les cellules que je veux écraser ont toutes le nom Motdepassexxx, et xxx représente un numéro d’ordre.

Cette fonction doit porter dans l’intégralité de mon classeur.

Pouvez-vous me venir en aide ?

Bonjour,

A tester.

Option Explicit
Public Sub Suppression_Motdepassee()
Dim ws As Worksheet
Dim rng As Range

    Application.ScreenUpdating = False

    For Each ws In ActiveWorkbook.Worksheets
        Set rng = ws.UsedRange
        rng.Replace What:="Motdepasse", _
                    Replacement:="", _
                    LookAt:=xlPart, _
                    SearchOrder:=xlByColumns, _
                    MatchCase:=True, _
                    SearchFormat:=False, _
                    ReplaceFormat:=False
    Next ws

    Set rng = Nothing

End Sub

Tous d'abord merci pour votre aide.

J'ai tester le code et il prend en compte la valeur de la cellule alors que je souhaierais qu'il recherche par le nom.

motdepasse

Je vous ai joint un fichier xlsx en exemple.

7motdepasse.xlsx (11.45 Ko)

Merci pour votre aide.

Re,

Si tu veux supprimer tous les noms commençant par 'Motdepasse'

Alors :

Option Explicit
Public Sub Supprimer_noms()
Dim ws As Worksheet
Dim nm As Name
    For Each nm In ActiveWorkbook.Names
        If nm.Name Like "Motdepasse*" Then nm.Delete
    Next nm
End Sub

Super...

Je sens que l'on s'approche du but.

Donc la recherche, c'est bien du nom qu'il s'agit par contre pour l'action, c'est le contenu de la cellule que je veux écraser par des étoiles.

Re,

A tester.

Option Explicit
Public Sub Supprimer_noms()
Dim ws As Worksheet
Dim nm As Name
    Application.ScreenUpdating = False
    For Each nm In ActiveWorkbook.Names
        If nm.Name Like "Motdepasse*" Then
            Application.Goto Reference:=nm.Name
            Selection.ClearContents
        End If
    Next nm
End Sub 

Super Jean Eric ça marche du tonner !

Reste juste un point qui fait buguer la procédure.

Il y un objet qui a une référence invalide :

ref invalide

Peut-ton ajouter un bout de code pour supprimer ces objets ? (MotdepasseD2 dans mon cas)

Encore un grand merci pour ce que tu as déja accompli !

Re,

Essaie ceci (sans grande conviction) :

Option Explicit
Public Sub Supprimer_noms()
Dim ws As Worksheet
Dim nm As Name
    Application.ScreenUpdating = False
On Error Resume Next
    For Each nm In ActiveWorkbook.Names
        If nm.Name Like "Motdepasse*" Then
            Application.Goto Reference:=nm.Name
            Selection.ClearContents
        End If
    Next nm
On Error Goto 0
End Sub

Ca marche comme une montre suisse ! Encore merci

Rechercher des sujets similaires à "supp contenu fonction leurs noms"