Insertion d'un caractère suite à l'utilisation de la barre d'espacement

Renaud22

XLDnaute Junior
Bonjour à tous,

J'apprécierais recevoir votre aide afin d'écrire des instructions VBA pour permettre l'insertion de caractères suite à l'utilisation de la barre d'espacement (voir fichier : exemple.xlsx ci-joint). Par exemple, dans la cellule A2, je veux ajouter le caractère "#" (avant la chaine de caractères entrée) après d'avoir tapé une chaine de caractères quelconque (dans cet exemple : 25) suivis de 2 espaces et retour (enter). Finalement, dans la cellule A4, je veux ajouter la lettre "m", lorsque je tape un chiffre suivi d'un espace et retour (enter).

Merci à l'avance pour votre précieuse collaboration,

Salutations,

Renaud
 

Pièces jointes

  • Exemple.xlsx
    8.5 KB · Affichages: 22
  • Exemple.xlsx
    8.5 KB · Affichages: 26
  • Exemple.xlsx
    8.5 KB · Affichages: 25

pierrejean

XLDnaute Barbatruc
Re : Insertion d'un caractère suite à l'utilisation de la barre d'espacement

Bonjour Renaud22

A tester:

NB :Valable sur la colonne A seulement (colonne A impérativement en format Texte
 

Pièces jointes

  • Exemple (1a).xlsm
    13.4 KB · Affichages: 27

Renaud22

XLDnaute Junior
Re : Insertion d'un caractère suite à l'utilisation de la barre d'espacement

Bonjour Pierre-jean,

Merci beaucoup pour votre réponse. Votre code fonctionne bien. Cependant, j'aimerais que la ligne : If Right(Target.Value, 2) = " " Then Target.Value = Trim("#" & Target.Value) s'applique uniquement à la cellule "O7" et la ligne : If Right(Target.Value, 1) = " " Then Target.Value = Trim(Target.Value) & " m" s'applique uniquement à la cellule "O8". Est-ce possible ?

Merci pour votre collaboration,

Salutations,

Renaud D.
 

pierrejean

XLDnaute Barbatruc
Re : Insertion d'un caractère suite à l'utilisation de la barre d'espacement

Re

A tester:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$O$7" And Right(Target.Value, 2) = "  " Then Target.Value = Trim("#" & Target.Value)
 If Target.Address = "$O$8" And Right(Target.Value, 1) = " " Then Target.Value = Trim(Target.Value) & "m"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 766
Membres
101 815
dernier inscrit
sgep59