Code VBA pour donner une valeur automatiquement.

  • Initiateur de la discussion Initiateur de la discussion Matjul
  • Date de début Date de début

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 !

Matjul

XLDnaute Occasionnel
Bonjour à tous,
J'ai une feuille excel avec les valeurs suivantes:
A1: C B1: Création
A2: A B2: Annulation
A3: M B3: Modification

Dans une autre feuille, il y a une colonne dans laquelle il faut rentrer les valeur "C" ou "A" ou "M", et lorsque l'on change de cellule (c'est à dire que l'on passe dans la cellule à coté) je souhaiterai que le "C" soit remplacé par "Création" ou bien le "A" par "Annulation".....

J'espère que je suis arrivé à me faire comprendre.

Merci pour votre aide.
 
Re : Code VBA pour donner une valeur automatiquement.

Bonjour à tous
Bonjour Matjul

Si j'ai bien compris, et sans optimisation du code :
Code:
Option Explicit
Dim anciennevaleur As String
Dim anciennead

Private Sub Worksheet_Change(ByVal Target As Range)
anciennead = Target.Address(0, 0)
On Error Resume Next
anciennevaleur = Target.Value
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Select Case anciennevaleur
    Case "A": Range(anciennead).Value = "Annulation"
    Case "C": Range(anciennead).Value = "Création"
    Case "M": Range(anciennead).Value = "Modification"
End Select
End Sub
Tu peux supprimer ta liste dans la feuille, mais attention, ce code fonctionne pour toutes les cellules de toutes les colonnes, il faut donc mettre une restriction pour la zone ou colonne que tu veux

Eric
 
Re : Code VBA pour donner une valeur automatiquement.

Merci Eric,
je ne met peut être pas le code au bon endroit, mais ça ne fonctionne pas chez moi.

En fait je voudrais que cela fonctionne uniquement pour la colonne B de la feuille 1

Merci
 
Re : Code VBA pour donner une valeur automatiquement.

Bonjour,

tu peux coder un événement comme suit
Private Sub Worksheet_Change(ByVal CelluleEnCours As Range)

If CelluleEnCours.Column = 1 And CelluleEnCours.Count = 1 Then ' limiter la modif sur une cellule de la colonne 1
Application.EnableEvents = False 'Inactiver l'événement
Select Case CelluleEnCours
Case "A": CelluleEnCours.Value = "Annulation"
Case "C": CelluleEnCours.Value = "Création"
Case "M": CelluleEnCours.Value = "Modification"
End Select
Application.EnableEvents = True

End If
End Sub

Recopie la macro en utilisant le bouton droit sur l'onglet de la feuille / visualiser le code

je te laisse le plaisir de découvrir la suite...

bon courage
 
- 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

Réponses
10
Affichages
412
Réponses
5
Affichages
434
Retour