BonjourBonjour,
Dans mon exemple (voir PJ), je voudrais que dès que je rentre la 1ère lettre (M ou O), le nom (Marcel ou Olivier), s'écrive automatiquement.
Merci d'avance.
Denis
Private Sub Worksheet_Change(ByVal Target As Range)
For Each Target In Target
If UCase(Target) = "M" Then Target = "Marcel"
If UCase(Target) = "O" Then Target = "Olivier"
Next
End Sub
Oui, je n'ai pas été précis. Uniquement dans la colonne A.Bonjour
Votre demande nécessite un peu de clarification. Pourriez-vous préciser si vous souhaitez que le nom (Marcel ou Olivier) s'écrive automatiquement dès que vous entrez la première lettre (M ou O) dans une cellule spécifique, ou si cela doit s'appliquer à toutes les cellules de la feuille ou à une plage prédéfinie ? Plus de détails sur la portée de cette automatisation seraient utiles pour vous fournir une réponse précise.
Merci
Re voici une propositionOui, je n'ai pas été précis. Uniquement dans la colonne A.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
Application.EnableEvents = False ' Désactiver temporairement les événements pour éviter une boucle infinie
For Each cell In Target
If UCase(cell.Value) = "M" Then
cell.Value = "Marcel"
ElseIf UCase(cell.Value) = "O" Then
cell.Value = "Olivier"
End If
Next cell
Application.EnableEvents = True ' Réactiver les événements
End If
End Sub