Autres Cellule écriture automatique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mythotem

XLDnaute Junior
Bonjour,
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
 

Pièces jointes

Bonjour,
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
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
 
Bonjour,

Une solution VBA en plaçant dans le code de la feuille :
VB:
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
Les entrées multiples sont possibles.

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
Oui, je n'ai pas été précis. Uniquement dans la colonne A.
 
Oui, je n'ai pas été précis. Uniquement dans la colonne A.
Re voici une proposition
VB:
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
 
Bonjour @mythotem, @job75, @chaelie2015 , le fil

Une autre possibilité : le format personnalisé
Ici le format est appliqué sur une plage de cellules de la colonne A
Si on saisit 1, s'affiche Marc
Si c'est 2, alors ce sera Olivier
FPerso.png
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Automatique
Réponses
3
Affichages
108
Réponses
4
Affichages
145
Réponses
5
Affichages
424
Retour