Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

calcul automatique dans une cellule

14 réponses
Avatar
hys56
bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une
aide pour ce pb je voudrais que lorsque j'écris un chiffre dans une cellule
celui ci se transforme par division ou multiplication j'ai essayé en faisant
par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.

10 réponses

1 2
Avatar
Tatanka
Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

"hys56" a écrit dans le message de news:
bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une aide pour ce pb je voudrais que lorsque j'écris un
chiffre dans une cellule celui ci se transforme par division ou multiplication j'ai essayé en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.



Avatar
hys56
bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1, a2
etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de news:

Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

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

bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une
aide pour ce pb je voudrais que lorsque j'écris un chiffre dans une
cellule celui ci se transforme par division ou multiplication j'ai essayé
en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.







Avatar
Tatanka
Salut,

Ma dernière macro n'était pas très fiable!
Prudence avec Application.EnableEvents = False.
Si tu constates des anomalies, colle cette macro :
Sub Correction()
Application.EnableEvents = True
End Sub
dans un module standard, dépose le curseur devant
« Application.EnableEvents = True » et tape sur F5.
Tu pourras alors utiliser cette macro si les cellules concernées
sont dans la plage A1:D10 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo FIN
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
Target = Target / 4
End If
FIN:
Application.EnableEvents = True
End Sub

Serge

"hys56" a écrit dans le message de news:
bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1, a2 etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de news:
Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

"hys56" a écrit dans le message de news:
bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une aide pour ce pb je voudrais que lorsque j'écris un
chiffre dans une cellule celui ci se transforme par division ou multiplication j'ai essayé en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.











Avatar
AH60
Bonjour
si je veux à présent étendre à d'autres cellules ex a1, a2
etc qu'est ce que je dois changer?


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

Abed_H




bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1, a2
etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de news:

Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

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

bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une
aide pour ce pb je voudrais que lorsque j'écris un chiffre dans une
cellule celui ci se transforme par division ou multiplication j'ai essayé
en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.












Avatar
Tatanka
Meilleure ainsi. Avec cette macro,
1) Si tu entres, par exemple, la valeur 12 simultanément
dans plusieurs cellules (Ctrl+Entrée), chaque cellule
sera divisée par 4.
2) Si tu entres du texte, il n'y aura pas de message d'erreur.
3) Si tu « vides » une cellule, 0 n'apparaîtra pas.

Private Sub Worksheet_Change(ByVal Target As Range)
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
For Each c In inters
If (IsNumeric(c) And Not IsEmpty(c)) Then c.Value = c / 4
Next c
End If
Application.EnableEvents = True
End Sub

Serge


"Tatanka" a écrit dans le message de news:
Salut,

Ma dernière macro n'était pas très fiable!
Prudence avec Application.EnableEvents = False.
Si tu constates des anomalies, colle cette macro :
Sub Correction()
Application.EnableEvents = True
End Sub
dans un module standard, dépose le curseur devant
« Application.EnableEvents = True » et tape sur F5.
Tu pourras alors utiliser cette macro si les cellules concernées
sont dans la plage A1:D10 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo FIN
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
Target = Target / 4
End If
FIN:
Application.EnableEvents = True
End Sub

Serge

"hys56" a écrit dans le message de news:
bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1, a2 etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de news:
Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

"hys56" a écrit dans le message de news:
bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une aide pour ce pb je voudrais que lorsque j'écris un
chiffre dans une cellule celui ci se transforme par division ou multiplication j'ai essayé en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.















Avatar
hys56
bonsoir la première macro de Serge a fonctionné quelques fois et maintenant
plus rien
votre macro destinée à une application dans plusieurs cellules ne fonctionne
pas il se peut que je n'effectue pas la bonne procédure
j'ai modifié :
If Intersect(Target, Range("T10:T25")) Is Nothing Then Exit
c'est la plage de cellules qui m'intéresse je dois y inscrire des nombres
différents qui chacun doit se diviser en 4
rien ne se passe est-ce que je dois appuyer sur une touche de fonction?
merci de continuer à m'aider
"AH60" a écrit dans le message de news:

Bonjour
si je veux à présent étendre à d'autres cellules ex a1, a2
etc qu'est ce que je dois changer?


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

Abed_H




bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1,
a2
etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de
news:

Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

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

bonjour à tous j'ai peu de connaissances en excel et je souhaiterais
une
aide pour ce pb je voudrais que lorsque j'écris un chiffre dans une
cellule celui ci se transforme par division ou multiplication j'ai
essayé
en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.














Avatar
Carim
Bonsoir,

Un grand classique ...
Tatanka t'a déjà donné la solution ...
Il faut avoir cette macro en réserve pendant tous les tests ...

Sub Correction()
Application.EnableEvents = True
End Sub


A+
Avatar
hys56
re dsl mais je n'y arrive pas j'ai collé cette macro dans "clic droit sur
onglet et visualiser le code sur la page qui apparait = rien ensuite j'ai
collé dans un module = rien
qu'est ce que je fais de travers??
la première macro fonctionnait à chaque chiffre inscrit il se divisait en 4
ensuite plus rien j'ai collé la correction mais tjrs rien
je dois inscrire un chiffre dans les cellules d'une même colonne
(T10,T11,T12,...) et avoir une division dans chaque cellule.
mystère?


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

Meilleure ainsi. Avec cette macro,
1) Si tu entres, par exemple, la valeur 12 simultanément
dans plusieurs cellules (Ctrl+Entrée), chaque cellule
sera divisée par 4.
2) Si tu entres du texte, il n'y aura pas de message d'erreur.
3) Si tu « vides » une cellule, 0 n'apparaîtra pas.

Private Sub Worksheet_Change(ByVal Target As Range)
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
For Each c In inters
If (IsNumeric(c) And Not IsEmpty(c)) Then c.Value = c / 4
Next c
End If
Application.EnableEvents = True
End Sub

Serge


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

Salut,

Ma dernière macro n'était pas très fiable!
Prudence avec Application.EnableEvents = False.
Si tu constates des anomalies, colle cette macro :
Sub Correction()
Application.EnableEvents = True
End Sub
dans un module standard, dépose le curseur devant
« Application.EnableEvents = True » et tape sur F5.
Tu pourras alors utiliser cette macro si les cellules concernées
sont dans la plage A1:D10 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo FIN
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
Target = Target / 4
End If
FIN:
Application.EnableEvents = True
End Sub

Serge

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

bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1,
a2 etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de
news:
Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

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

bonjour à tous j'ai peu de connaissances en excel et je souhaiterais
une aide pour ce pb je voudrais que lorsque j'écris un chiffre dans
une cellule celui ci se transforme par division ou multiplication j'ai
essayé en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.



















Avatar
Tatanka
Ne te décourage pas tout de suite :-)
Je t'envoie sous peu une exemple sur Cjoint.com

Serge

"hys56" a écrit dans le message de news:
re dsl mais je n'y arrive pas j'ai collé cette macro dans "clic droit sur onglet et visualiser le code sur la page qui apparait =
rien ensuite j'ai collé dans un module = rien
qu'est ce que je fais de travers??
la première macro fonctionnait à chaque chiffre inscrit il se divisait en 4 ensuite plus rien j'ai collé la correction mais tjrs
rien
je dois inscrire un chiffre dans les cellules d'une même colonne (T10,T11,T12,...) et avoir une division dans chaque cellule.
mystère?


"Tatanka" a écrit dans le message de news:
Meilleure ainsi. Avec cette macro,
1) Si tu entres, par exemple, la valeur 12 simultanément
dans plusieurs cellules (Ctrl+Entrée), chaque cellule
sera divisée par 4.
2) Si tu entres du texte, il n'y aura pas de message d'erreur.
3) Si tu « vides » une cellule, 0 n'apparaîtra pas.

Private Sub Worksheet_Change(ByVal Target As Range)
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
For Each c In inters
If (IsNumeric(c) And Not IsEmpty(c)) Then c.Value = c / 4
Next c
End If
Application.EnableEvents = True
End Sub

Serge


"Tatanka" a écrit dans le message de news:
Salut,

Ma dernière macro n'était pas très fiable!
Prudence avec Application.EnableEvents = False.
Si tu constates des anomalies, colle cette macro :
Sub Correction()
Application.EnableEvents = True
End Sub
dans un module standard, dépose le curseur devant
« Application.EnableEvents = True » et tape sur F5.
Tu pourras alors utiliser cette macro si les cellules concernées
sont dans la plage A1:D10 :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo FIN
Set inters = Intersect([a1:d10], Target)
If Not inters Is Nothing Then
Application.EnableEvents = False
Target = Target / 4
End If
FIN:
Application.EnableEvents = True
End Sub

Serge

"hys56" a écrit dans le message de news:
bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1, a2 etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de news:
Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

"hys56" a écrit dans le message de news:
bonjour à tous j'ai peu de connaissances en excel et je souhaiterais une aide pour ce pb je voudrais que lorsque j'écris un
chiffre dans une cellule celui ci se transforme par division ou multiplication j'ai essayé en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.























Avatar
AH60
Re...

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("T10:T25")) Is Nothing Then Exit Sub
Target.Value = Target.Value / 4
End Sub

Abed_H





bonsoir la première macro de Serge a fonctionné quelques fois et maintenant
plus rien
votre macro destinée à une application dans plusieurs cellules ne fonctionne
pas il se peut que je n'effectue pas la bonne procédure
j'ai modifié :
If Intersect(Target, Range("T10:T25")) Is Nothing Then Exit
c'est la plage de cellules qui m'intéresse je dois y inscrire des nombres
différents qui chacun doit se diviser en 4
rien ne se passe est-ce que je dois appuyer sur une touche de fonction?
merci de continuer à m'aider
"AH60" a écrit dans le message de news:

Bonjour
si je veux à présent étendre à d'autres cellules ex a1, a2
etc qu'est ce que je dois changer?


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

Abed_H




bonsoir et merci si je veux à présent étendre à d'autres cellules ex a1,
a2
etc qu'est ce que je dois changer?
"Tatanka" a écrit dans le message de
news:

Bonjour,

Je crois bien qu'il te faille passer par une macro de feuille.
Supposons que tu entres ton nombre en A1 et que tu veux
qu'il soit automatiquement divisé par 4.
Fais un clic droir sur l'onglet de ta feuille de calcul,
clique sur Visualiser le code... et colle cette macro dans la
feuille vierge qui devrait apparaître :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> [a1] Then Exit Sub
Application.EnableEvents = False
[a1] = [a1] / 4
Application.EnableEvents = True
End Sub

Est-ce que ça te convient ?

Serge

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

bonjour à tous j'ai peu de connaissances en excel et je souhaiterais
une
aide pour ce pb je voudrais que lorsque j'écris un chiffre dans une
cellule celui ci se transforme par division ou multiplication j'ai
essayé
en faisant par ex :
=/4 mais j'ai une erreur
comment dois-je procéder ? merci de l'aide.



















1 2