Ne pas permettre les formules

Clark

XLDnaute Junior
Bonjour à tous!! :woohoo:

j'ai un tableau que j'envoi à des clients qui doivent mettre des Chiffre d'affaire (donc des chiffres uniquement)
Et certains utilisent des formules plutôt que de taper directement les montants. J'aimerais savoir si il est possible de les autoriser à saisir des chiffres mais pas des formules sur certaines cellules voir toutes la feuille au pire!

Merci par avance pour votre aide! :)

Clark ;)
 
P

Pyrof

Guest
Bonjour,

Pour ta cellule, tu fais :
Donnée
Validation

Onglet OPtions

Autoriser
Décimal
Donnée
comprise entre

Mini
0,00001
Maxi
999999999

Essais

Tu peux aussi générer un message d'alerte dans l'onglet Message d'alerte

A+
 

Clark

XLDnaute Junior
Salut Pyrof, merci pour ta réponse malheureusement, j'avais déjà pensé à cette solution mais elle ne fonctionne pas car si le résultat de la formule tapée par l'utilisateur rentre dans la fourchette établie alors la formule est acceptée!! :(

Clark
 
P

Pyrof

Guest
Re bonjour,

Une autre approche

exemple avec la cellule A1

Créer la mcero : dans la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
Target = Target.Value
End If
End Sub

Ceci va permetre de pouvoir saisir la formule, mais transformera automatiquement en valeur.
 

Hervé

XLDnaute Barbatruc
Bonjour

Une proposition par vba, a placer dans le module de la feuille (clique droit sur le nom de l'onglet, puis visualiser le code) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.HasFormula Then
MsgBox 'Merci de ne pas saisir de formule.', , 'Attention'
Target.Clear
End If
End Sub

Salut
 

Clark

XLDnaute Junior
Je sais Pyrouf, mais si l'utilisateur n'active pas les macros au lancement du classeur, les macros ne s'exécuteront pas!

Jean-Marie, c'est une bonne idée, mais j'ai une ligne de sommation qui somme toutes les lignes juqu'à 65535, donc ca ne peut pas marcher non plus!!

Clark
 

JeanMarie

XLDnaute Barbatruc
Re....

Tu peux sommer une plage de cellules 'texte' pouvant contenir une formule texte. avec cette formule matricielle (à valider Shift+Ctrl+Entrer).

=SOMME(SI(STXT(A1:A100;1;1)='=';SI(ESTNUM(STXT(A1:A100;2;255)*1);STXT(A1:A100;2;255)*1;0);A1:A100*1))

A1:A100 étant la plage à sommer.

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 390
Messages
2 087 938
Membres
103 679
dernier inscrit
yprivey3