Ponctuation automatique

Bonjour le Forum,

Ma demande peut paraître bizarre, mais motivée.

Dans un fichier de travail Excel "partagé", un nombre très important de cellules sont remplies par plusieurs personnes qui oublient régulièrement de terminer leur fin de phrase par un point avant de passer à la cellule suivante.

La personne responsable du suivi de ce fichier doit rechercher et reprendre chaque cellules où cet oubli est trouvé afin de terminer les phrases.

Existe t'il un code permettant de placer un point après le dernier mot de chaque cellules et ce dans plusieurs colonnes comme les majuscules forcées en début de phrase.

Merci pour votre aide et excellente journée.

Bonjour,

Joindre un fichier

Bonjour,

un exemple de macro à mettre sur les feuilles concernées.

L'ajout se fait au moment de la saisie plutôt qu'un contrôle à posteriori :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pl As Range, c As Range
    Set pl = Intersect(Target, Union([B2:E15], [L:L]))
    If Not pl Is Nothing Then
        For Each c In pl
            If Right(Target, 1) <> "." Then Target = Target & "."
        Next c
    End If
End Sub

ici sur 2 plages, dont une colonne entière.

eric

Bonjour eriiic,

Un tout grand merci pour ta solution. Cela correspond exactement à mes espérances.

Une fois de plus je te remercie "eriiic" de même que tous les membres du FORUM qui prennent le temps de nous sortir de soucis divers.

Bonne fin de journée pour vous tous.

Salut,

voici une solution qui place une majuscule en début et un point à la fin des cellules qui en sont dépourvues uniquement.

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim Cel As Range
iRow = Target.Row
iCol = Target.Column
'
Application.EnableEvents = False
ActiveSheet.UsedRange.Select
'
For Each Cel In Selection
    sFlag = Cel.Value
    If VarType(sFlag) = vbString Then
        sFlag = UCase$(Left$(sFlag, 1)) + Right$(sFlag, Len(sFlag) - 1)
        If Right$(sFlag, 1) <> "." Then sFlag = sFlag & "."
        Cel.Value = sFlag
    End If
Next Cel
[A1].Select
Application.EnableEvents = True
'
End Sub

A+

Rechercher des sujets similaires à "ponctuation automatique"