OVH Cloud OVH Cloud

Saisie valeur négative sans frapper signe "-"

11 réponses
Avatar
Alain
Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.

10 réponses

1 2
Avatar
SL
Bonjour

Une solution : tout taper en positif puis entrer -1 dans une cellule, la
copier, sélectionner toute ta plage, collage spécial, opération
multiplication.

Sinon
en A1 : -1 ou 1 et pour entrer des nombres dans la colonne 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then Target = Target * Range("A1")
End Sub

Stéphane

"Alain" a écrit dans le message de news:

Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans
excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à
chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.


Avatar
Alain
Merci des suggestions. J'avais déjà pensé au "collage spécial" mais ce n'est
pas parfaitement adapté à ce que je veux faire ; quant à la macro proposée,
elle refuse tout net de tourner ; en outre mes saisies ne sont pas
"mono-colonnes" donc ça ne résoud pas vraiment le pb !
Je suis néanmoins preneur de toute autre idée !


Bonjour

Une solution : tout taper en positif puis entrer -1 dans une cellule, la
copier, sélectionner toute ta plage, collage spécial, opération
multiplication.

Sinon
en A1 : -1 ou 1 et pour entrer des nombres dans la colonne 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then Target = Target * Range("A1")
End Sub

Stéphane

"Alain" a écrit dans le message de news:

Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans
excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à
chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.







Avatar
Philippe Noss
Bonsoir
Je doute qu'il y ai d'autres solutions que copier/collage spécial, ou
une macro quelquonque.
JE ne vois pourquoi la macor de Stéphane ne tournerais pas ! a tu bien
mis -1 en A1
La macro se trouve bien au dans la feuille1 et non dans un module
quelcconque

Si ca ne fonctionne pas, precise ce qui se passe et ce que tu souhiate
faire
Philippe
http://nossphil.perso.cegetel.net/exoutils.html
Avatar
Alain
Bonjour à vous deux qui m'avez répondu,

On progresse ; effectivement, la macro étant "copiée" ds la feuille de
calcul et non ds un module, cela fonctionne très bien (pardon à Stéphane
d'avoir douter !) mais uniquement sur la colonne "2" désignée ds la macro.

En fait, mon pb est le suivant : j'ai mis au point une application excel qui
permet de traiter les calculs de classement des tournois de bridge en ligne ;
j'ai donc pour chacune des formules de tournoi retenues (18 cas donc 18
feuilles de calcul) un tableau à remplir comprenant des groupes de cellules
correspondant à chaque donne Do_1, Do_2, Do_3,....,Do_n (n varie de 24 à 36
environ). Dans chacune de ces donnes, je saisis verticalement les résultats
des équipes (de 5 à 13 équipes) sous la forme suivante :
Nord/Sud | Est/West | Do_1 | Do_2 | Do_3 |
1 | 1 | 9 | -5 | -6
2 | 7 | -5 | -12 | -7
3 | 8 | 7 | -13 | -8
etc...
Dans certains cas, les résultats d'une certaine donne étant tous négatifs,
la saisie du signe "-" à chaque entrée fait perdre du temps et peut être
source d'erreur.

MON BUT EST DONC DE TROUVER UN MOYEN DE NE PAS AVOIR A SAISIR CE SIGNE "-" A
CHAQUE FOIS MAIS DE LANCER UNE FOIS, EN DEBUT DE SAISIE DE LA DONNE
CONCERNEE, LA COMMANDE AD-HOC POUR FAIRE BASCULER LA SAISIE EN NEGATIF POUR
TOUTE LA DONNE ET DE RECOMMANDER LE MODE "NORMAL" EN FIN DE DONNE LE CAS
ECHEANT.

J'espère que ma description est suffisament claire.

Merci en tout cas déjà de vos propositions ; j'attends les suivantes avec
intérêt (et impatience !).

A bientôt


Bonsoir
Je doute qu'il y ai d'autres solutions que copier/collage spécial, ou
une macro quelquonque.
JE ne vois pourquoi la macor de Stéphane ne tournerais pas ! a tu bien
mis -1 en A1
La macro se trouve bien au dans la feuille1 et non dans un module
quelcconque

Si ca ne fonctionne pas, precise ce qui se passe et ce que tu souhiate
faire
Philippe
http://nossphil.perso.cegetel.net/exoutils.html




Avatar
SL
Bonjour

un exemple à adapter
http://cjoint.com/?kzjVZbjdXB

Stéphane

"Alain" a écrit dans le message de news:

Bonjour à vous deux qui m'avez répondu,

On progresse ; effectivement, la macro étant "copiée" ds la feuille de
calcul et non ds un module, cela fonctionne très bien (pardon à Stéphane
d'avoir douter !) mais uniquement sur la colonne "2" désignée ds la macro.

En fait, mon pb est le suivant : j'ai mis au point une application excel
qui
permet de traiter les calculs de classement des tournois de bridge en
ligne ;
j'ai donc pour chacune des formules de tournoi retenues (18 cas donc 18
feuilles de calcul) un tableau à remplir comprenant des groupes de
cellules
correspondant à chaque donne Do_1, Do_2, Do_3,....,Do_n (n varie de 24 à
36
environ). Dans chacune de ces donnes, je saisis verticalement les
résultats
des équipes (de 5 à 13 équipes) sous la forme suivante :
Nord/Sud | Est/West | Do_1 | Do_2 | Do_3 |
1 | 1 | 9 | -5 | -6
2 | 7 | -5 | -12 | -7
3 | 8 | 7 | -13 | -8
etc...
Dans certains cas, les résultats d'une certaine donne étant tous négatifs,
la saisie du signe "-" à chaque entrée fait perdre du temps et peut être
source d'erreur.

MON BUT EST DONC DE TROUVER UN MOYEN DE NE PAS AVOIR A SAISIR CE SIGNE "-"
A
CHAQUE FOIS MAIS DE LANCER UNE FOIS, EN DEBUT DE SAISIE DE LA DONNE
CONCERNEE, LA COMMANDE AD-HOC POUR FAIRE BASCULER LA SAISIE EN NEGATIF
POUR
TOUTE LA DONNE ET DE RECOMMANDER LE MODE "NORMAL" EN FIN DE DONNE LE CAS
ECHEANT.

J'espère que ma description est suffisament claire.

Merci en tout cas déjà de vos propositions ; j'attends les suivantes avec
intérêt (et impatience !).

A bientôt


Bonsoir
Je doute qu'il y ai d'autres solutions que copier/collage spécial, ou
une macro quelquonque.
JE ne vois pourquoi la macor de Stéphane ne tournerais pas ! a tu bien
mis -1 en A1
La macro se trouve bien au dans la feuille1 et non dans un module
quelcconque

Si ca ne fonctionne pas, precise ce qui se passe et ce que tu souhiate
faire
Philippe
http://nossphil.perso.cegetel.net/exoutils.html






Avatar
Alain
Re-Bonjour,

Les solutions proposées par Stéphane et Philippe donnent satisfaction ;
merci beaucoup !

Dernière petite précision : suis-je obligé de placer la macro "Private Sub
Worksheet_Change(ByVal Target As Range) etc..." dans chacune des feuilles de
calcul que je dois traiter ou bien puis la mettre au niveau du workbook pour
l'ensemble du classeur ?

C'est juste histoire d'alléger un peu le fichier d'ensemble et de faciliter
les corrections ou modifs éventuelles !

Merci d'avance à nouveau de toute suggestion.

Alain



Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.


Avatar
SL
Bonjour
heureux que cela te convienne

sous réserve de quelques modification tu devrais pouvoir mettre la macro
dans
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Stéphane

"Alain" a écrit dans le message de news:

Re-Bonjour,

Les solutions proposées par Stéphane et Philippe donnent satisfaction ;
merci beaucoup !

Dernière petite précision : suis-je obligé de placer la macro "Private Sub
Worksheet_Change(ByVal Target As Range) etc..." dans chacune des feuilles
de
calcul que je dois traiter ou bien puis la mettre au niveau du workbook
pour
l'ensemble du classeur ?

C'est juste histoire d'alléger un peu le fichier d'ensemble et de
faciliter
les corrections ou modifs éventuelles !

Merci d'avance à nouveau de toute suggestion.

Alain



Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans
excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à
chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.




Avatar
Alain
Merci Stéphane ; ça marche impeccable et ça allège quand même bien tout
l'ensemble de mes macros.

L'exemple à adapter "http://cjoint.com/?kzjVZbjdXB" est pas mal mais un peu
plus difficile à mettre au point ds le cas de figure qui m'occupe ; je l'ai
laissé de côté pour l'instant ; je ne maîtrise pas encore la gestion des
cases d'option en visual basic !

Alain


Bonjour
heureux que cela te convienne

sous réserve de quelques modification tu devrais pouvoir mettre la macro
dans
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Stéphane



Avatar
Alain
Bonjour,
Je reviens un peu à la charge sur la macro proposée que j'ai légèrement
adaptée pour la faire coller avec mon pb :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column > 2 and Target.Column< 6 and Target.Row > 3 Then Target =
Target * Range("A1")
End Sub

ça marche mais j'ai le petit pb suivant :
Quand je saisis une valeur positive dans les colonnes 3 à 5 pour qu'elle
soit prise en compte en négatif, la macro part en "boucles" et le résultat ne
s'affiche qu'au bout d'un temps qui, sans être très long, est quand même
perceptible ; en fait, c'est une succession d'affichage tantôt positif,
tantôt négatif qui se produit ; au bout du compte cela ralentit pas mal la
saisie surtout si, par derrière, l'application est en calcule "automatique"
et comporte un grand nombre de matrices à recalculer (c'est mon cas !).
Pour l'instant, je l'ai paramétrée pour être en calcul "sur ordre" puis je
fais un "calculer maintenant" en fin de saisie.
Par curiosité, j'ai mis un compteur ds la macro pour voir le nombre de
boucles ; il est très important (>1000) !
Mystère !!! Ceci me laisse perplexe. Je voudrais bien quelques
éclaicissements.

Merci d'avance.

Alain


Bonjour

Une solution : tout taper en positif puis entrer -1 dans une cellule, la
copier, sélectionner toute ta plage, collage spécial, opération
multiplication.

Sinon
en A1 : -1 ou 1 et pour entrer des nombres dans la colonne 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then Target = Target * Range("A1")
End Sub

Stéphane

"Alain" a écrit dans le message de news:

Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans
excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à
chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.







Avatar
michdenis
Bonjour Alain,

En supposant que ta procédure te convient, modifie la comme suit :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
If Target.Column > 2 and Target.Column< 6 and Target.Row > 3 Then Target Target * Range("A1")
Application.EnableEvents = True
End Sub


Salutations!



"Alain" a écrit dans le message de news:
Bonjour,
Je reviens un peu à la charge sur la macro proposée que j'ai légèrement
adaptée pour la faire coller avec mon pb :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column > 2 and Target.Column< 6 and Target.Row > 3 Then Target Target * Range("A1")
End Sub

ça marche mais j'ai le petit pb suivant :
Quand je saisis une valeur positive dans les colonnes 3 à 5 pour qu'elle
soit prise en compte en négatif, la macro part en "boucles" et le résultat ne
s'affiche qu'au bout d'un temps qui, sans être très long, est quand même
perceptible ; en fait, c'est une succession d'affichage tantôt positif,
tantôt négatif qui se produit ; au bout du compte cela ralentit pas mal la
saisie surtout si, par derrière, l'application est en calcule "automatique"
et comporte un grand nombre de matrices à recalculer (c'est mon cas !).
Pour l'instant, je l'ai paramétrée pour être en calcul "sur ordre" puis je
fais un "calculer maintenant" en fin de saisie.
Par curiosité, j'ai mis un compteur ds la macro pour voir le nombre de
boucles ; il est très important (>1000) !
Mystère !!! Ceci me laisse perplexe. Je voudrais bien quelques
éclaicissements.

Merci d'avance.

Alain


Bonjour

Une solution : tout taper en positif puis entrer -1 dans une cellule, la
copier, sélectionner toute ta plage, collage spécial, opération
multiplication.

Sinon
en A1 : -1 ou 1 et pour entrer des nombres dans la colonne 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then Target = Target * Range("A1")
End Sub

Stéphane

"Alain" a écrit dans le message de news:

Bonjour,
Je dois fréquemment saisir de longues suites de valeur négatives dans
excel
; je voudrais pouvoir le faire sans avoir à taper le signe "moins" à
chaque
valeur saisie.
Je souhaiterais pouvoir "basculer" mes saisies en négatif par une simple
commande (macro ou autre).
Merci des suggestions.







1 2