pour une saisie rapide ( validation ?)

P

pphil

Guest
Bonjour et bonne année à tous
Dans une base de donnée excel, une cellule recoit toujours trois valeurs
exemple "légume" "viande" "poisson" ( bon, c'est un exemple de sortie de fête ;-)
est ce possible de pouvoir :
en tapant 1 de renvoyer "légume"
en tapant 2 de renvoyer la valeur "viande"
et en tapant 3 de renvoyer la valeur "poisson" ?
le but c'est de saisir plus rapidement.

j'ai cherché dans les chapitres " validation" mais je ne vois rien

Merci si vous savez une réponse. Et si c'est hors "vba"
c'est mieux pour moi,
pphil
 
B

Brigitte

Guest
Bonjour pphil,


Alors soluce Mac Gyver en attendant les conseils des grands :


tu tapes 1, 2 et 3.

Puis tu fais une colonne à coté, qui dit :

=si(A1=1;"légume";si(A1=2;"viande";"poisson"))

Je te joins l'exemple, espérant te dépanner...


C'est une solution parmi d'autres plus sympa sûrement mais bon...

Brigitte
 

Pièces jointes

  • pphil.zip
    2.8 KB · Affichages: 22
P

patrick C

Guest
saltu pphil,

mauvaise nouvelle, excel marche mal sur mon pc et je t'ai donc écrit ça:

--------------------------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)


If Cells(ActiveCell.Row - 1, ActiveCell.Column) = "1" Then
Cells(ActiveCell.Row - 1, ActiveCell.Column) = "Poisson"
End If

If Cells(ActiveCell.Row - 1, ActiveCell.Column) = "2" Then
Cells(ActiveCell.Row - 1, ActiveCell.Column) = "potiron"
End If

If Cells(ActiveCell.Row - 1, ActiveCell.Column) = "3" Then
Cells(ActiveCell.Row - 1, ActiveCell.Column) = "bûche"
End If


End Sub
--------------------------------------------------------
c'est à placer dans la feuille ThisWorkbook de ton classeur
tu peux en rajouter autant que tu veux

ps: ça marche si tu tapes "entrée" après avoir renseigné ta cellule
 
J

jmps

Guest
Bonjour pphil, Brigitte, Patrick,

Un peu plus court :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
  Select Case Target.Value
    Case Is = "1"
      Target.Value = "Légume"
    Case Is = "2"
      Target.Value = "Viande"
    Case Is = "3"
      Target.Value = "Poisson"
    Case Else
  End Select
End Sub


Toujours en VBA malheureusement. Par formule c'est faisable mais avec une colonne intermédiaire comme le suggère judicieusement Brigitte. En effet, si tu veux avoir à la fois une saisie et une formule dans la même cellule, c'est impossible.

A+

José
 
A

andré

Guest
Salut à vous,

Moi, je le fais par le correcteur d'ortographe (menu Outils)

Taper un caractère jamais employé et un chiffre.
Le choix de ce caractère dépend du type de clavier et de la façon de travailler.

Ainsi µ1 pourrait valoir légume, µ2 viande et µ3 poisson.
Mais aussi : £ = légume, µ = viande et ~ = poisson.

A tester.
Ândré.
 
A

andré

Guest
Salut José, et les autres,

Permets-moi de paraphraser : A défaut de formules, on a des idées.

Autre petite astuce (peu connue, du moins je le crois - lol) :
Lorsqu'on écrit des formules qui font référence à des noms d'onglets fort longs (par exemple : Vente Grossites Province 2005), il est non seulement fastidieux de taper à chaque fois ce nom, mais de plus il y a un risque de faute d'ortographe.

L'astuce consiste à renommer temporairement cet onglet (A par exemple ou VGP5), d'écrire les formules (beaucoup plus lisibles dans la barre de formule), puis, une fois le travail fini, de redonner le nom initial à l'onglet.
Excel modifie automatiquement toutes les formules !

Ândré.
 
T

tatiak

Guest
Bonsoir à tous,
pour une saisie rapide à la souris uniquement :
(1° double clic dans colonne A pour Légume, 2° pour Viande, 3° pour Poisson et 4° pour effacer)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Select Case Target.Value
Case ""
Target.Value = "Légume"
Case "Légume"
Target.Value = "Viande"
Case "Viande"
Target.Value = "Poisson"
Case "Poisson"
Target.Value = ""
End Select
Cells(Target.Row + 1, Target.Column).Activate
End If
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69