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.
Merci beaucoup ; ça a l'air de coller impeccable !
Mais je n'ai pas compris pourquoi la procédure partait en boucle ; c'est un peu mystérieux quand même !
A bientôt peut-être. Cordialement.
"michdenis" wrote:
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.
Merci beaucoup ; ça a l'air de coller impeccable !
Mais je n'ai pas compris pourquoi la procédure partait en boucle ; c'est un
peu mystérieux quand même !
A bientôt peut-être. Cordialement.
"michdenis" wrote:
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" <Alain@discussions.microsoft.com> a écrit dans le message de news: 4B1CFEA4-8ED9-4933-9768-E55FFBF635A3@microsoft.com...
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" <Alain@discussions.microsoft.com> a écrit dans le message de news:
DE0D297F-F482-4263-932D-FF95DA8AE290@microsoft.com...
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.
Merci beaucoup ; ça a l'air de coller impeccable !
Mais je n'ai pas compris pourquoi la procédure partait en boucle ; c'est un peu mystérieux quand même !
A bientôt peut-être. Cordialement.
"michdenis" wrote:
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.