61 votes

Excel - Puis-je définir une cellule pour qu'elle soit égale à une certaine valeur, peu importe ce qui est tapé dans la cellule ?

C'est pour faire une blague à quelqu'un... je ne suis pas sûr qu'il soit possible de faire ce que je veux. Nous faisons circuler un fichier Excel parmi des amis pour sélectionner des joueurs pour un tournoi de golf. Je voudrais qu'une cellule (appelée A1) affiche un certain nom (appelé Joe), peu importe ce que quelqu'un tape dans cette cellule.

A1 doit être vide jusqu'à ce que quelqu'un essaie d'y taper un nom. Lorsque quelqu'un tape un nom - n'importe quel nom - il devient automatiquement Joe après avoir appuyé sur la touche Entrée.

La mise en forme conditionnelle ne fonctionne pas car il semble qu'elle ne s'intéresse qu'à la valeur de la cellule A1.

Une formule ne fonctionne pas car ils verraient quelque chose dans la cellule.

La correction automatique - qui aurait l'effet exact que je recherche - ne fonctionne pas car elle est stockée sur mon ordinateur et ne serait pas transférée avec le fichier.

Des idées ?

109voto

Kyle Points 2356

En tant qu'alternative sans macro, cela ne changera pas la valeur de la cellule, mais cela changera l'affichage de la cellule. Faites un clic droit sur la cellule en question, puis cliquez sur "Formater les cellules". Dans l'onglet des nombres, cliquez sur Personnalisé, puis entrez le format de nombre personnalisé suivant

"Joe";"Joe";"Joe";"Joe"

Explication : Les formats de nombres Excel comportent quatre parties, séparées par des points-virgules. La valeur de la cellule détermine quelle partie du format numérique est utilisée, et le format se présente comme suit :

[positive];[negative];[zero];[text] 

Comme chaque section est une chaîne codée en dur, "Joe" s'affichera quel que soit ce qui est saisi, même si une formule est saisie (sauf si cette formule renvoie une erreur). Habituellement, les formats de nombres sont utilisés pour afficher les nombres négatifs en rouge, ou aligner les valeurs à la décimale, ou d'autres choses esthétiques. Mais ils peuvent aussi être utilisés pour embêter vos amis.

9voto

Gary's Student Points 18946

Mettez ce qui suit macro d'événement dans la zone de code de la feuille de calcul :

Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
   Application.EnableEvents = False
      Range("A1").Value = "Joe"
   Application.EnableEvents = True
End Sub

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X