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

Opération en VBA sur les cellules

8 réponses
Avatar
Thierry 46
Bonsoir à tous

je cherche le moyen en VBA de faire la même opération sur une selection
de cellule.

for each cell in Selection
cell.value = (cell.value * 24)
next

cela me permet de tout multiplier par 24

Seulement je ne voudrai pas effacer les formules, ce n'est donc pas
.value qu'il me faut.
Une idée ?

Merci
Thierry

--
thmc46(nospam)@wanadoo.fr

8 réponses

Avatar
docm
Bonsoir.

Si tu ne veux pas effacer les formules d'uner cellule, mieux vaut ne pas
modifier sa valeur.

docm


"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Bonsoir à tous

je cherche le moyen en VBA de faire la même opération sur une selection
de cellule.

for each cell in Selection
cell.value = (cell.value * 24)
next

cela me permet de tout multiplier par 24

Seulement je ne voudrai pas effacer les formules, ce n'est donc pas
.value qu'il me faut.
Une idée ?

Merci
Thierry

--
thmc46(nospam)@wanadoo.fr



Avatar
Thierry 46
Le 17/05/2005, docm a supposé :
Bonsoir.

Si tu ne veux pas effacer les formules d'uner cellule, mieux vaut ne pas
modifier sa valeur.

docm


"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Bonsoir à tous

je cherche le moyen en VBA de faire la même opération sur une selection
de cellule.

for each cell in Selection
cell.value = (cell.value * 24)
next

cela me permet de tout multiplier par 24

Seulement je ne voudrai pas effacer les formules, ce n'est donc pas
.value qu'il me faut.
Une idée ?

Merci
Thierry

--
thmc46(nospam)@wanadoo.fr



Précision: les formules vont chercher des valeurs dans d'autres onglets
ou feuilles. Je veux multiplier ce résultat par 24. le * 24 est à la
fin. ( je viens de lire des heures, minutes que je transforme en
décimal). Je suis sûr que sur ce forum il y a la solution.

Merci

--
thmc46(nospam)@wanadoo.fr


Avatar
docm
Sub mutiplierPar24()

For Each cell In Selection
b = InStr(cell.FormulaR1C1, "=")
If b > 0 Then
f = Mid(cell.FormulaR1C1, b + 1)
cell.FormulaR1C1 = "=(" & f & ") * 24"
End If
Next
End Sub

docm

"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Le 17/05/2005, docm a supposé :
Bonsoir.

Si tu ne veux pas effacer les formules d'uner cellule, mieux vaut ne pas
modifier sa valeur.

docm


"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Bonsoir à tous

je cherche le moyen en VBA de faire la même opération sur une selection
de cellule.

for each cell in Selection
cell.value = (cell.value * 24)
next

cela me permet de tout multiplier par 24

Seulement je ne voudrai pas effacer les formules, ce n'est donc pas
.value qu'il me faut.
Une idée ?

Merci
Thierry

--
thmc46(nospam)@wanadoo.fr



Précision: les formules vont chercher des valeurs dans d'autres onglets
ou feuilles. Je veux multiplier ce résultat par 24. le * 24 est à la
fin. ( je viens de lire des heures, minutes que je transforme en
décimal). Je suis sûr que sur ce forum il y a la solution.

Merci

--
thmc46(nospam)@wanadoo.fr





Avatar
isabelle
bonjour Thierry,

tu en n'était pas loin,

For Each cell In Selection
cell.Formula = cell.Formula & "* 24"
Next

isabelle

Précision: les formules vont chercher des valeurs dans d'autres onglets
ou feuilles. Je veux multiplier ce résultat par 24. le * 24 est à la
fin. ( je viens de lire des heures, minutes que je transforme en
décimal). Je suis sûr que sur ce forum il y a la solution.

Merci



Avatar
Thierry 46
Merci docm
cela fonctionne, juste dans le test si ce n'est pas une formule c'est
cell.value
encore merci
Sub mutiplierPar24()

For Each cell In Selection
b = InStr(cell.FormulaR1C1, "=")
If b > 0 Then
f = Mid(cell.FormulaR1C1, b + 1)
cell.FormulaR1C1 = "=(" & f & ") * 24"
End If
Next
End Sub

docm

"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Le 17/05/2005, docm a supposé :
Bonsoir.

Si tu ne veux pas effacer les formules d'uner cellule, mieux vaut ne pas
modifier sa valeur.

docm


"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Bonsoir à tous

je cherche le moyen en VBA de faire la même opération sur une selection
de cellule.

for each cell in Selection
cell.value = (cell.value * 24)
next

cela me permet de tout multiplier par 24

Seulement je ne voudrai pas effacer les formules, ce n'est donc pas
.value qu'il me faut.
Une idée ?

Merci
Thierry

--
thmc46(nospam)@wanadoo.fr



Précision: les formules vont chercher des valeurs dans d'autres onglets
ou feuilles. Je veux multiplier ce résultat par 24. le * 24 est à la
fin. ( je viens de lire des heures, minutes que je transforme en
décimal). Je suis sûr que sur ce forum il y a la solution.

Merci

--
thmc46(nospam)@wanadoo.fr



--
thmc46(nospam)@wanadoo.fr




Avatar
Thierry 46
isabelle vient de nous annoncer :
bonjour Thierry,

tu en n'était pas loin,

For Each cell In Selection
cell.Formula = cell.Formula & "* 24"
Next

isabelle

Précision: les formules vont chercher des valeurs dans d'autres onglets ou
feuilles. Je veux multiplier ce résultat par 24. le * 24 est à la fin. ( je
viens de lire des heures, minutes que je transforme en décimal). Je suis
sûr que sur ce forum il y a la solution.

Merci

Merci Isabelle


ca marche, comme celle de docm il faut un test si ce n'est pas une
formule c'est cell.value qu'il faut
thierry

--
thmc46(nospam)@wanadoo.fr


Avatar
docm
Tu as absolument raison.

On peut le vérifier ainsi:

For Each cell In Selection
a = Trim(cell.FormulaR1C1)
b = InStr(a, "=")
If b = 1 Then
f = Mid(cell.FormulaR1C1, b + 1)
cell.FormulaR1C1 = "=(" & f & ") * 24"
Else
cell.Value = cell.Value * 24
End If

Next

docm
"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Merci docm
cela fonctionne, juste dans le test si ce n'est pas une formule c'est
cell.value
encore merci
Sub mutiplierPar24()

For Each cell In Selection
b = InStr(cell.FormulaR1C1, "=")
If b > 0 Then
f = Mid(cell.FormulaR1C1, b + 1)
cell.FormulaR1C1 = "=(" & f & ") * 24"
End If
Next
End Sub

docm

"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Le 17/05/2005, docm a supposé :
Bonsoir.

Si tu ne veux pas effacer les formules d'uner cellule, mieux vaut ne
pas




modifier sa valeur.

docm


"Thierry 46" <thmc46(nospam)@wanadoo.fr> a écrit dans le message news:

Bonsoir à tous

je cherche le moyen en VBA de faire la même opération sur une
selection





de cellule.

for each cell in Selection
cell.value = (cell.value * 24)
next

cela me permet de tout multiplier par 24

Seulement je ne voudrai pas effacer les formules, ce n'est donc pas
.value qu'il me faut.
Une idée ?

Merci
Thierry

--
thmc46(nospam)@wanadoo.fr



Précision: les formules vont chercher des valeurs dans d'autres onglets
ou feuilles. Je veux multiplier ce résultat par 24. le * 24 est à la
fin. ( je viens de lire des heures, minutes que je transforme en
décimal). Je suis sûr que sur ce forum il y a la solution.

Merci

--
thmc46(nospam)@wanadoo.fr



--
thmc46(nospam)@wanadoo.fr







Avatar
Thierry 46
docm a pensé très fort :
For Each cell In Selection
a = Trim(cell.FormulaR1C1)
b = InStr(a, "=")
If b = 1 Then
f = Mid(cell.FormulaR1C1, b + 1)
cell.FormulaR1C1 = "=(" & f & ") * 24"
Else
cell.Value = cell.Value * 24
End If

Next


c'est testé et c'est TOP
Merci
thierry

--
thmc46(nospam)@wanadoo.fr