Remplacer n'importe quelle frappe par un X

Bonjour,

Afin d'harmoniser les colonnes d'un tableau, je souhaite un coup de pouce pour un code qui me permettrait de remplacer systématiquement toute frappe (un espace, une lettre, un mot, un chiffre) par un X.

Mon idée est de définir dans le code la plage de ligne concernée par ce code.

A vou slire; et merci d'avance.

bonjour raf le forum

a+

papou

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B2:B9]) Is Nothing Then
        Application.EnableEvents = False
        Range("B2:B9").ClearContents
        Target = "X"
        Application.EnableEvents = True
    End If
End Sub

Bonjour,

Tu peux très bien le faire sans macro, mais par l'utilisation de Données/Validation....

Maintenant, si tu préfères utiliser une macro, libre à toi.

bon courage

Pourquoi mettre l’âne après la carotte ????

L'âne étant ici

Et quand tu met un code évite de faire semblant qu'il est de ton cru.

cousinhub a écrit :

Bonjour,

Tu peux très bien le faire sans macro, mais par l'utilisation de Données/Validation....

Bonjour cousinhub,

Ça m’intéresse de savoir comment faire avec Données/Validation.

Peut'tu expliquer ?

A+

Re-,

Dans le fichier joint, on ne peut entrer que des "X" dans la plage "G2:G7", et un seul à la fois.....

Ce n'est pas tout à fait la réponse, mais ça fait le boulot, sans macro, ou autres sources d'erreurs....

Bonne soirée

29ke-des-x.xls (13.50 Ko)

Bonjour,

Le code VBA impose à choix unique, ce n'est pas ma demande. Je souhaite pouvoir transfromer chaque frappe d'une plage de cellule en X.

Le code est donc différent de celui posté.

PAr avance merci.

Raf a écrit :

Bonjour,

Afin d'harmoniser les colonnes d'un tableau, je souhaite un coup de pouce pour un code qui me permettrait de remplacer systématiquement toute frappe (un espace, une lettre, un mot, un chiffre) par un X.

Mon idée est de définir dans le code la plage de ligne concernée par ce code.

A vou slire; et merci d'avance.

Un coup de pouce SVP ?

Bonsoir Raf,Forum

si j'ai compris la demande

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Montext$
    If Not Intersect(Target, Range("B2:B9")) Is Nothing And Target.Count = 1 Then
       Montext = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
       Target = Mid(Montext, 1, Len(Target))
    End If
End Sub

Bonjour,

Merci de ton aide. J'ai du mal m'exprimer car ca ne fonctionne pas.

Autrement dit :Sur une plage de cellule (B2 à B9), je souhaite que lorsque j'écris "A" (ou une autre lettre, ou mot, ...) sur B3 par exemple et que j'appuie sur Entrée, le code me transforme A en X. Meme chose pour les autres cellules de la plage donnée.

Par avance merci et bonne journée.

Bonsoir Raf

Qu'est ce qui ne fonctionne pas?

11raf.zip (6.30 Ko)

Bonjour,

Je l'ai intégré dans un code déjà créé :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [C37,C39,C41,C43,C45]) Is Nothing Then

Application.EnableEvents = False

[C37,C39,C41,C43,C45].ClearContents

Target = "X"

Application.EnableEvents = True

End If

If Not Intersect(Target, Range("B2:B9")) Is Nothing And Target.Count = 1 Then

Montext = "X"

Target = Mid(Montext, 1, Len(Target))

End If

End Sub

Voir la deuxième partie du code.

Où est l'erreur ?

La première partie fait la meme chose mais sur un choix unique, la deuxième, celle que je recherche doit le faire de manière multiple.

A te lire.

Merci pour tout.

Bonsoir Raf

La première partie fait la meme chose mais sur un choix unique, la deuxième, celle que je recherche doit le faire de manière multiple.

Je ne comprend pas ce que tu veux exactement

peux tu poster un fichier en notant en b2 se que tu saisi et en C2 à C9, ce que tu veux

Rechercher des sujets similaires à "remplacer importe quelle frappe"