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

pb de multiplication en vba

7 réponses
Avatar
Franck
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau par 100,
je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais sans avoir à saisir
100 dans une cellule, la copier et utiliser la syntaxe classique suivante:
Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs soient multipliées
par 100
Quelqu'un peut il m'aider S'il vous plait
Merci

7 réponses

Avatar
ru-th
Salut

[t1:t12] = [t1:t12* 100]

a+
rural thierry
"Franck" a écrit dans le message de news:
#
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau par 100,
je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais sans avoir à saisir
100 dans une cellule, la copier et utiliser la syntaxe classique suivante:
Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs soient multipliées
par 100
Quelqu'un peut il m'aider S'il vous plait
Merci




Avatar
Pierre Fauconnier
Bonjour

Je pense que le xlPasteAll doit être remplacé par xlAll ou peut être omis.

La syntaxe suivante fonctionne, car tu n'as pas besoin de sélectionner ta
destination pour le collage spécial

Selection.Copy
Range("T2:T12").PasteSpecial àperation:=xlPasteSpecialOperationMultiply
Application.CutCopyMode = False

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci


"Franck" a écrit dans le message de
news:%
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau par 100,
je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais sans avoir à saisir
100 dans une cellule, la copier et utiliser la syntaxe classique suivante:
Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs soient multipliées
par 100
Quelqu'un peut il m'aider S'il vous plait
Merci




Avatar
dadda
-----Message d'origine-----
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau
par 100,

je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais
sans avoir à saisir

100 dans une cellule, la copier et utiliser la syntaxe
classique suivante:

Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlMultiply, _

SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs
soient multipliées

par 100
Quelqu'un peut il m'aider S'il vous plait
Merci


.Bonjour Franck;
Il ya plus simple et plus pratique.Selectionne la colonne

ou la plage de cellules que tuveux multiplier.Exécute la
macro ci-après. Dans la bboite de dialogue entre le
montant par lequel tu veux multiplier. appuie sur OK et le
tour et joué:

Sub multiplier()
On Error Resume Next
Dim x As Integer
x = InputBox("Multiplier cellules par :", "Multiplication")
For Each c In Selection
c.Value = c.Value * x
Next
End Sub




Avatar
papou
Bonjour
Il ya plus simple et plus pratique
...que la réponse de Thierry ?

...ça se discute ;-)

Pascal

"dadda" a écrit dans le message de
news:2a8201c47095$f7c509e0$

-----Message d'origine-----
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau
par 100,

je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais
sans avoir à saisir

100 dans une cellule, la copier et utiliser la syntaxe
classique suivante:

Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlMultiply, _

SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs
soient multipliées

par 100
Quelqu'un peut il m'aider S'il vous plait
Merci


.Bonjour Franck;
Il ya plus simple et plus pratique.Selectionne la colonne

ou la plage de cellules que tuveux multiplier.Exécute la
macro ci-après. Dans la bboite de dialogue entre le
montant par lequel tu veux multiplier. appuie sur OK et le
tour et joué:

Sub multiplier()
On Error Resume Next
Dim x As Integer
x = InputBox("Multiplier cellules par :", "Multiplication")
For Each c In Selection
c.Value = c.Value * x
Next
End Sub




Avatar
Pierre Fauconnier
Salut Papou...

La réponse de Thierry est pratique lorsque l'on connait la valeur servant de
multiplicateur, mais lorsque cette valeur est inconnue au moment de la
création du code, la technique proposée me semble ne plus fonctionner.

La solution de Pascal est "lente" pour des grandes plages de valeur...

La mienne, comme les autres d'ailleurs, "verrouille" la plage de
destination...

On n'est jamais content ;-)))))

Bonne journée


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:
Bonjour
Il ya plus simple et plus pratique
...que la réponse de Thierry ?

...ça se discute ;-)

Pascal

"dadda" a écrit dans le message de
news:2a8201c47095$f7c509e0$

-----Message d'origine-----
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau
par 100,

je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais
sans avoir à saisir

100 dans une cellule, la copier et utiliser la syntaxe
classique suivante:

Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlMultiply, _

SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs
soient multipliées

par 100
Quelqu'un peut il m'aider S'il vous plait
Merci


.Bonjour Franck;
Il ya plus simple et plus pratique.Selectionne la colonne

ou la plage de cellules que tuveux multiplier.Exécute la
macro ci-après. Dans la bboite de dialogue entre le
montant par lequel tu veux multiplier. appuie sur OK et le
tour et joué:

Sub multiplier()
On Error Resume Next
Dim x As Integer
x = InputBox("Multiplier cellules par :", "Multiplication")
For Each c In Selection
c.Value = c.Value * x
Next
End Sub








Avatar
ru-th
Salut

en ce cas
Sub test()
x = InputBox("Chiffres")
[a1:a12] = Evaluate("a1:a12*" & x)
End Sub

a+
rural thierry
"Pierre Fauconnier" a écrit dans le
message de news:
Salut Papou...

La réponse de Thierry est pratique lorsque l'on connait la valeur servant
de

multiplicateur, mais lorsque cette valeur est inconnue au moment de la
création du code, la technique proposée me semble ne plus fonctionner.

La solution de Pascal est "lente" pour des grandes plages de valeur...

La mienne, comme les autres d'ailleurs, "verrouille" la plage de
destination...

On n'est jamais content ;-)))))

Bonne journée


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:
Bonjour
Il ya plus simple et plus pratique
...que la réponse de Thierry ?

...ça se discute ;-)

Pascal

"dadda" a écrit dans le message de
news:2a8201c47095$f7c509e0$

-----Message d'origine-----
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau
par 100,

je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais
sans avoir à saisir

100 dans une cellule, la copier et utiliser la syntaxe
classique suivante:

Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlMultiply, _

SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs
soient multipliées

par 100
Quelqu'un peut il m'aider S'il vous plait
Merci


.Bonjour Franck;
Il ya plus simple et plus pratique.Selectionne la colonne

ou la plage de cellules que tuveux multiplier.Exécute la
macro ci-après. Dans la bboite de dialogue entre le
montant par lequel tu veux multiplier. appuie sur OK et le
tour et joué:

Sub multiplier()
On Error Resume Next
Dim x As Integer
x = InputBox("Multiplier cellules par :", "Multiplication")
For Each c In Selection
c.Value = c.Value * x
Next
End Sub












Avatar
Pierre Fauconnier
En effet Thierry,

Peut-être plus concis que ma méthode, dérivée de l'enregistreur de macros...

Bonne journée...


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"ru-th" a écrit dans le message de
news:
Salut

en ce cas
Sub test()
x = InputBox("Chiffres")
[a1:a12] = Evaluate("a1:a12*" & x)
End Sub

a+
rural thierry
"Pierre Fauconnier" a écrit dans le
message de news:
Salut Papou...

La réponse de Thierry est pratique lorsque l'on connait la valeur
servant


de
multiplicateur, mais lorsque cette valeur est inconnue au moment de la
création du code, la technique proposée me semble ne plus fonctionner.

La solution de Pascal est "lente" pour des grandes plages de valeur...

La mienne, comme les autres d'ailleurs, "verrouille" la plage de
destination...

On n'est jamais content ;-)))))

Bonne journée


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:
Bonjour
Il ya plus simple et plus pratique
...que la réponse de Thierry ?

...ça se discute ;-)

Pascal

"dadda" a écrit dans le message de
news:2a8201c47095$f7c509e0$

-----Message d'origine-----
Bonjour,
Pour multiplier les valeurs d'une colonne de mon tableau
par 100,

je rentre 100 dans une cellule et je fais copier->collage
spécial->multiplication sur les données de ma colonne
Je voudrais maintenant faire la même chose en vba mais
sans avoir à saisir

100 dans une cellule, la copier et utiliser la syntaxe
classique suivante:

Selection.Copy
Range("T2:T12").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlMultiply, _

SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False


En fait que lors de mon "paste" que toutes les valeurs
soient multipliées

par 100
Quelqu'un peut il m'aider S'il vous plait
Merci


.Bonjour Franck;
Il ya plus simple et plus pratique.Selectionne la colonne

ou la plage de cellules que tuveux multiplier.Exécute la
macro ci-après. Dans la bboite de dialogue entre le
montant par lequel tu veux multiplier. appuie sur OK et le
tour et joué:

Sub multiplier()
On Error Resume Next
Dim x As Integer
x = InputBox("Multiplier cellules par :", "Multiplication")
For Each c In Selection
c.Value = c.Value * x
Next
End Sub