Modification valeur cellule après validation

altefqhatre

XLDnaute Junior
Bonjour :)

J'essaye de créer un fichier dans lequel lorsque que quelque chose est écrit dans la colonne A et validé par la touche Enter, une chaîne de caractères (toujours la même) est rajoutée à ce qui a été initialement écrit.

Mes deux problèmes sont:

-Exécuter automatiquement une macro en appuyant sur la touche Enter, et ce uniquement dans la colonne A

-Ne pas ajouter ad vitam eternam la chaîne de caractères si celle-ci a déjà été insérée une fois

Voilà ou j'en suis:

Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Run Test
End Sub

Sub Test()

Dim Ligne As Long


For Ligne = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
        If Cells(Ligne, "A").Value <> "" Then
            Cells(Ligne, "A").Value = Cells(Ligne, "A").Value & Chr(32) & "SUFFIXE"
        End If
        
    Next Ligne


End Sub


La seule solution que j'ai trouvée jusqu'à maintenant c'est de faire passer en revue les lignes de la colonne A les unes après les autres et y rajouter un If :(

D'avance merci pour votre précieuse aide! ;)
 

jp14

XLDnaute Barbatruc
Re : Modification valeur cellule après validation

Bonjour

Code à tester
Le drapeau évite la réentrance.
Code:
Option Explicit
Dim flag As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
Dim data1 As String
Dim cellule As Range
If flag = True Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target = "" Then Exit Sub
If InStr(1, Target, "SUFFIXE") = 0 Then
    flag = True
    Target = Target & Chr(32) & "SUFFIXE"
End If
flag = False
End Sub

JP
 

Discussions similaires

Réponses
6
Affichages
172
Réponses
0
Affichages
177
Réponses
5
Affichages
246

Statistiques des forums

Discussions
312 508
Messages
2 089 138
Membres
104 047
dernier inscrit
bravetta