Appuyer sur entrée pour afficher le résultat d'une formule

flamilo

XLDnaute Junior
Bonjour,

j'aurais besoin de votre aide svp.

Dans un classeur j'écris nombres tels que : 8333667
J'aimerai trouver un moyen pour que dans la cellule d'en dessous, quand j'appuis sur entrée, le nombre qui suit celui ci apparaisse.
Il me faudrait une formule plutot qu'un macro. Merci beaucoup pour voter aide!
 

Modeste

XLDnaute Barbatruc
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Bonsoir flamilo,

Difficile d'être précis, sans exemple, mais il me semble que tu as 2 solutions:
- une fois le nombre encodé, la poignée de recopie vers le bas (avec la touche contrôle enfoncée)
- peut-être est-ce également possible par formule ... mais tout dépend du contexte, de ce qui se passe autour et alentour de tes cellules :confused:

Un petit fichier exemple???
 

flamilo

XLDnaute Junior
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Bonjour,
merci pour votre réponse.


Voici un exemple je ne sais pas si c'est tres clair.
 

Pièces jointes

  • Classeur1.xlsx
    33.7 KB · Affichages: 42
  • Classeur1.xlsx
    33.7 KB · Affichages: 50
  • Classeur1.xlsx
    33.7 KB · Affichages: 53

job75

XLDnaute Barbatruc
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Bonsoir flamilo, salut Modeste,

A priori il faut une macro.

Par exemple dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Row > 1 Then _
  If IsNumeric(CStr(ActiveCell(0))) Then ActiveCell = ActiveCell(0) + 1
End Sub
A+
 

flamilo

XLDnaute Junior
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Merci beaucoup !

C'est génial, je n'y connais rien en macro.. est ce que tu pourrai me la transformer pour que ce soit seulement les cellules D29 à D35 concernées ?

Merci bcp !
 

job75

XLDnaute Barbatruc
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Bonjour flamilo,

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, [D29:D35]) Is Nothing Then _
  If IsNumeric(CStr(ActiveCell(0))) Then ActiveCell = ActiveCell(0) + 1
End Sub
Fichier .xlsm joint (classeur prenant en charge les macros).

A+
 

Pièces jointes

  • Incrémentation(1).xlsm
    13.7 KB · Affichages: 27
  • Incrémentation(1).xlsm
    13.7 KB · Affichages: 30

flamilo

XLDnaute Junior
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Super ! merci c'est génial. Un dernier détail, est ce posible de faire en sorte que ce ne soit pas la cellule sélectionnée qui fasse apparaitre le nombre mais plutôt le bouton "Entrée" dans la cellule sélectionnée ?

Encore merci
 

job75

XLDnaute Barbatruc
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Re,

Oui c'est possible en affectant une macro aux 2 touches "Entrée" par les instructions :

Code:
Application.OnKey "~", "MaMacro"
Application.OnKey "{ENTER}", "MaMacro"
quand on entre dans la plage D29: D35, et en redonnant à ces touches leur usage normal par les instructions :

Code:
Application.OnKey "~"
Application.OnKey "{ENTER}"
quand on sort de la plage.

C'est laborieux et inutilement compliqué pour votre petit problème, alors j'arrête là.

A+
 

job75

XLDnaute Barbatruc
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Re,

Une autre solution simple avec cette 2ème macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D29:D35]) Is Nothing Then Target.Select
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Incrémentation(2).xlsm
    14.7 KB · Affichages: 27

job75

XLDnaute Barbatruc
Re : Appuyer sur entrée pour afficher le résultat d'une formule

Bonjour flamilo, le forum,

Avec cette version (3) l'incrémentation n'a lieu que si la cellule est vide :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, [D29:D35]) Is Nothing Then _
  If IsNumeric(CStr(ActiveCell(0))) And ActiveCell = "" Then _
    ActiveCell = ActiveCell(0) + 1
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D29:D35]) Is Nothing _
  And Target(2, 1) = "" Then Target.Select
End Sub
A+
 

Pièces jointes

  • Incrémentation(3).xlsm
    15.1 KB · Affichages: 24

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 132
dernier inscrit
hedfahmi