OVH Cloud OVH Cloud

Appliquer un pourcentage identique à toutes les valeurs de mon t ab

18 réponses
Avatar
MJLGD
Je tiens un tableau de statistiques. Je dois appliquer une augmentation de 3
% à toutes les valeurs. Comment faire sans passer par VBA que je maîtrise
très mal ?
Si VBA est incontournable, alors parlez-moi de la solution via VBA. Merci

8 réponses

1 2
Avatar
Sam
Bonsoir,
j'ai du retard dans mes réactions ce soir et en plus je cafouille!
Cordialement
Michel dit "Sam"

"Sam" a écrit dans le message de news:
49be80a6$0$2736$

Bonjour,
mets 1,03 dans une cellule
copie la cellule,
sélectionne la zone à modifier
collage spécial/multiplication

Cordialement
Michel dit "Sam"

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

Je tiens un tableau de statistiques. Je dois appliquer une augmentation
de 3
% à toutes les valeurs. Comment faire sans passer par VBA que je maîtrise
très mal ?
Si VBA est incontournable, alors parlez-moi de la solution via VBA. Merci






Avatar
Jacquouille
Salut Isabelle
Au risque de paraître un troubleur de fête, est-il nécessaire de mettre le
"%" ?
La multiplication ne doit-elle pas être par 1.03 ?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

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

correction : mettre la valeur de 1.03% en cellule et copier cette valeur
pour la multiplication,

isabelle

MJLGD a écrit :
Je tiens un tableau de statistiques. Je dois appliquer une augmentation
de 3 % à toutes les valeurs. Comment faire sans passer par VBA que je
maîtrise très mal ?
Si VBA est incontournable, alors parlez-moi de la solution via VBA. Merci





Avatar
garnote
Il y a aussi cette drôle de chose :

[a1:a100] = [1.03*(a1:a100)]

Serge




"FFO" a écrit dans le message de news:
Salut à toi
Il est vrai que par macro c'est si simple avec ce code :

For Each c In Selection
c.Value = c + c * 3 / 100
Next

tu sélectionnes tes données et tu exécutes ce code

Peut être que des formulistes te proposeront aussi des solutions miracles du
même genre

Fais des essais et dis moi !!!!!




Avatar
MJLGD
Comment utiliser cette formule ? Merci de bien vouloir m'éclairer

"garnote" a écrit :

Il y a aussi cette drôle de chose :

[a1:a100] = [1.03*(a1:a100)]

Serge




"FFO" a écrit dans le message de news:
> Salut à toi
> Il est vrai que par macro c'est si simple avec ce code :
>
> For Each c In Selection
> c.Value = c + c * 3 / 100
> Next
>
> tu sélectionnes tes données et tu exécutes ce code
>
> Peut être que des formulistes te proposeront aussi des solutions miracles du
> même genre
>
> Fais des essais et dis moi !!!!!
>
>





Avatar
MJLGD
Merci d'avoir pris le temps de me répondre. La Communauté est vraiment
formidable !

"Sam" a écrit :


Bonsoir,
j'ai du retard dans mes réactions ce soir et en plus je cafouille!
Cordialement
Michel dit "Sam"

"Sam" a écrit dans le message de news:
49be80a6$0$2736$
>
> Bonjour,
> mets 1,03 dans une cellule
> copie la cellule,
> sélectionne la zone à modifier
> collage spécial/multiplication
>
> Cordialement
> Michel dit "Sam"
>
> "MJLGD" a écrit dans le message de news:
>
>> Je tiens un tableau de statistiques. Je dois appliquer une augmentation
>> de 3
>> % à toutes les valeurs. Comment faire sans passer par VBA que je maîtrise
>> très mal ?
>> Si VBA est incontournable, alors parlez-moi de la solution via VBA. Merci
>
>





Avatar
garnote
Ave,

Cette instruction doit être utilisée dans une macro
et permet de multiplier tous les nombres de la
plage A!:A100 par 1,03 sans passer par une boucle.

Sub Multiplier_Plage()
[a1:A100] = [1.03*(a1:a100)]
End Sub

[Expession] est l'équivalent de Evaluate("Expression")

Par exemple, pour calculer la moyenne de la plage "A1:A10",
et l'affecter à une variable appelée moyenne, on peut utiliser
indifféremment :
1) moyenne = [Average(a1:a10)]
ou
2) moyenne = Evaluate("=Average(A1:A10)")

La première technique est plus courte mais moins souple.
En effet, on peut « passer des variables » à Evaluate :

Sub Calcul_Fonction()
Dim Fonction As String
Dim Adresse As String
Dim v As Double
Fonction = "Average"
Adresse = "A1:A10"
v = Evaluate(Fonction & "(" & Adresse & ")")
End Sub

Si tu remplaces Average par Sum ou par Max,
tu obtiendras la somme ou le maximum de A1:A10.


Référence :
VBA pour Excel 2002
Stephen Bullen, John Green, Rob Bovey, Robert Rosenberg
CampusPress
Page 87


Serge








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

Comment utiliser cette formule ? Merci de bien vouloir m'éclairer

"garnote" a écrit :

Il y a aussi cette drôle de chose :

[a1:a100] = [1.03*(a1:a100)]

Serge




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

> Salut à toi
> Il est vrai que par macro c'est si simple avec ce code :
>
> For Each c In Selection
> c.Value = c + c * 3 / 100
> Next
>
> tu sélectionnes tes données et tu exécutes ce code
>
> Peut être que des formulistes te proposeront aussi des solutions miracles du
> même genre
>
> Fais des essais et dis moi !!!!!
>
>







Avatar
MJLGD
Merci. C'est lumineux

"garnote" a écrit :


Ave,

Cette instruction doit être utilisée dans une macro
et permet de multiplier tous les nombres de la
plage A!:A100 par 1,03 sans passer par une boucle.

Sub Multiplier_Plage()
[a1:A100] = [1.03*(a1:a100)]
End Sub

[Expession] est l'équivalent de Evaluate("Expression")

Par exemple, pour calculer la moyenne de la plage "A1:A10",
et l'affecter à une variable appelée moyenne, on peut utiliser
indifféremment :
1) moyenne = [Average(a1:a10)]
ou
2) moyenne = Evaluate("=Average(A1:A10)")

La première technique est plus courte mais moins souple.
En effet, on peut « passer des variables » à Evaluate :

Sub Calcul_Fonction()
Dim Fonction As String
Dim Adresse As String
Dim v As Double
Fonction = "Average"
Adresse = "A1:A10"
v = Evaluate(Fonction & "(" & Adresse & ")")
End Sub

Si tu remplaces Average par Sum ou par Max,
tu obtiendras la somme ou le maximum de A1:A10.


Référence :
VBA pour Excel 2002
Stephen Bullen, John Green, Rob Bovey, Robert Rosenberg
CampusPress
Page 87


Serge








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

> Comment utiliser cette formule ? Merci de bien vouloir m'éclairer
>
> "garnote" a écrit :
>
>> Il y a aussi cette drôle de chose :
>>
>> [a1:a100] = [1.03*(a1:a100)]
>>
>> Serge
>>
>>
>>
>>
>> "FFO" a écrit dans le message de news:
>>
>> > Salut à toi
>> > Il est vrai que par macro c'est si simple avec ce code :
>> >
>> > For Each c In Selection
>> > c.Value = c + c * 3 / 100
>> > Next
>> >
>> > tu sélectionnes tes données et tu exécutes ce code
>> >
>> > Peut être que des formulistes te proposeront aussi des solutions miracles du
>> > même genre
>> >
>> > Fais des essais et dis moi !!!!!
>> >
>> >
>>
>>
>>





Avatar
garnote
Ave,

Le signe d'égalité n'est pas nécessaire
et on n'a pas à se préoccuper des majuscules.
moyenne = Evaluate("=Average(A1:A10)")
est équivalent à :
moyenne = evaluate("average(A1:A10)")


Serge



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

Merci. C'est lumineux

"garnote" a écrit :


Ave,

Cette instruction doit être utilisée dans une macro
et permet de multiplier tous les nombres de la
plage A!:A100 par 1,03 sans passer par une boucle.

Sub Multiplier_Plage()
[a1:A100] = [1.03*(a1:a100)]
End Sub

[Expession] est l'équivalent de Evaluate("Expression")

Par exemple, pour calculer la moyenne de la plage "A1:A10",
et l'affecter à une variable appelée moyenne, on peut utiliser
indifféremment :
1) moyenne = [Average(a1:a10)]
ou
2) moyenne = Evaluate("=Average(A1:A10)")

La première technique est plus courte mais moins souple.
En effet, on peut « passer des variables » à Evaluate :

Sub Calcul_Fonction()
Dim Fonction As String
Dim Adresse As String
Dim v As Double
Fonction = "Average"
Adresse = "A1:A10"
v = Evaluate(Fonction & "(" & Adresse & ")")
End Sub

Si tu remplaces Average par Sum ou par Max,
tu obtiendras la somme ou le maximum de A1:A10.


Référence :
VBA pour Excel 2002
Stephen Bullen, John Green, Rob Bovey, Robert Rosenberg
CampusPress
Page 87


Serge








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

> Comment utiliser cette formule ? Merci de bien vouloir m'éclairer
>
> "garnote" a écrit :
>
>> Il y a aussi cette drôle de chose :
>>
>> [a1:a100] = [1.03*(a1:a100)]
>>
>> Serge
>>
>>
>>
>>
>> "FFO" a écrit dans le message de news:
>>
>> > Salut à toi
>> > Il est vrai que par macro c'est si simple avec ce code :
>> >
>> > For Each c In Selection
>> > c.Value = c + c * 3 / 100
>> > Next
>> >
>> > tu sélectionnes tes données et tu exécutes ce code
>> >
>> > Peut être que des formulistes te proposeront aussi des solutions miracles du
>> > même genre
>> >
>> > Fais des essais et dis moi !!!!!
>> >
>> >
>>
>>
>>







1 2