écrire une lettre pour qu'un mot apparaisse.

flamilo

XLDnaute Junior
Bonjour,

je donne un exemple :

Boisson chaude B
Mammifère M
Art de vivre A

je cherche un moyen (macro ou fonction) pour écrire seulement la lettre "code" dans une cellule mais que tout le nom s'affiche. Si j'écris "B" je fais entrée et "Boisson chaude" apparait.

Qnn a une idéee ?
Merci de votre aide
 

Dranreb

XLDnaute Barbatruc
Re : écrire une lettre pour qu'un mot apparaisse.

Ben, en Excel 2003 c'est menu Affichage, Barres d'outils, Boîte à outils contrôles, puis on sélectionne Liste déroulante modifiable, et on la dessine dans la feuille en enfonçant le bouton gauche sur la position voulue du coin haut gauche et le relâchant sur celle du coin bas droit. Après on affiche la fenêtre de propriétés pour corriger ses propriétés comme souhaité, puis on programme ce qu'il faut dans le module de la feuille.

P.S. À supposer que vous ayez nommé CbxSaisie votre ComboBox, le code dans le module de la feuille pourrait être celui ci, mais je l'aurais sans doute constitué mieux adapté sur un classeur joint…
VB:
Option Explicit

Private Sub Worksheet_Activate()
Me.CbxSaisie.List = Array("Boisson chaude", "Mammifère", "Art de vivre")
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.CbxSaisie.Top = Target.Top
Me.CbxSaisie.Left = Target.Left
Me.CbxSaisie.Text = Target.Value
End Sub

Private Sub CbxSaisie_Change()
Me.CbxSaisie.TopLeftCell.Value = Me.CbxSaisie.Text
End Sub
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : écrire une lettre pour qu'un mot apparaisse.

Bonsour®
je donne un exemple :

Boisson chaude B
Mammifère M
Art de vivre A

je cherche un moyen (macro ou fonction) pour écrire seulement la lettre "code" dans une cellule mais que tout le nom s'affiche. Si j'écris "B" je fais entrée et "Boisson chaude" apparait.

Excel est avant tout un tableur, nos amis d'outre-mare disent justement chiffrier...:rolleyes:

cette fonctionnalité est native dans MS-Word.(*)

:rolleyes:
pour celui qui n'a qu'un marteau, toutes les solutions se résument à une affaire de clou...

(*)
pour EXCEL sans formule ni macro ...
activer les options de correction automatique pendant la frappe

ajouter les parametres Remplacer et Par
nb : nécessitée d'utiliser 2 caractères exemple : §A ou §D (association peu utilisée en pratique courante)
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    51.8 KB · Affichages: 150
  • Capture.JPG
    Capture.JPG
    51.8 KB · Affichages: 194
  • Capture.JPG
    Capture.JPG
    51.8 KB · Affichages: 189
Dernière édition:

flamilo

XLDnaute Junior
Re : écrire une lettre pour qu'un mot apparaisse.

Dsl mais est ce que tu pourrais me le faire dans le fichier joint ?

J'aimerais que dans les cellules encadrées je puisse seulement marquer une lettre et que le mot correspondant apparaisse. Ce serait super !!
 

Pièces jointes

  • exemple.xls
    24.5 KB · Affichages: 77
  • exemple.xls
    24.5 KB · Affichages: 82
  • exemple.xls
    24.5 KB · Affichages: 68

Dranreb

XLDnaute Barbatruc
Re : écrire une lettre pour qu'un mot apparaisse.

Je n'arrive pas à le mettre au point. Il ne garde pas ce que je lui envoie en propriété List.
Alors on va le faire sans ComboBox.
Essayez simplement ce code dans le module de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Me.[E11:E16], Target) Is Nothing Or Target.Count <> 1 Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
Target.Value = Me.[C6:C9].Rows(WorksheetFunction.Match(Target.Value, Me.[D6:D9], 0))
Application.EnableEvents = True
End Sub
 

flamilo

XLDnaute Junior
Re : écrire une lettre pour qu'un mot apparaisse.

Waww génial ca marche super bien ! Une derniere chose ....
Si pour le mot "Boisson chaude" j'ai plusieurs lettre possible ...
Par exemple je voudrais que le B, X et Z me mette boisson chaude.

Est ce possible ?
 

job75

XLDnaute Barbatruc
Re : écrire une lettre pour qu'un mot apparaisse.

Bonjour flamilo, Dranreb, Modeste geedee, Si...

C'est vrai que pour ce genre de problème VBA paraît superflu.

Saisie intuitive dans le fichier joint.

A+
 

Pièces jointes

  • Première lettre(1).xls
    23.5 KB · Affichages: 60

job75

XLDnaute Barbatruc
Re : écrire une lettre pour qu'un mot apparaisse.

Bonjour flamilo, le fil,

Les listes sont dans les lignes masquées, il est facile de les afficher.

Pour éviter qu'on les efface, déverrouiller les cellules D7 D12 D17 D22 et protéger la feuille.

Fichier (3).

A+
 

Pièces jointes

  • Première lettre(3).xls
    24.5 KB · Affichages: 65

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 875
Membres
103 980
dernier inscrit
grandmasterflash38