Calcul rapide de toutes les cellules sélectionnées.

zuli3n

XLDnaute Occasionnel
Bonsoir le Forum,

Je voudrais savoir si il est possible, via macro ou vba, de sélectionner plusieurs cellules et de faire un calcul simple (une multiplication [x2,2]) et de mettre le résultat sur chaque cellules respective de ce calcul.
Je ne veux pas calculer les cellules entre elles, mais juste de multiplier la valeur de chaque cellule par 2,2.

J'avoue ce n'est pas très claire dis comme ça, je vous joins un fichier exemple qui sera un peu plus claire, enfin j'espère :)

Merci à vous,
Cordialement
 

Pièces jointes

  • Exemple-Zu.xlsx
    8.7 KB · Affichages: 40
Dernière édition:

zuli3n

XLDnaute Occasionnel
Re : Calcul rapide de toutes les cellules sélectionnées.

Bonsoir Victor21,

Même pas eu le temps de finir de préparer ma salade et j'ai déjà une réponse:)
Merci à toi pour cette très bonne astuce, cependant j'aimerai avoir une macro car je veux mettre en place pour mes utilisateurs un bouton sur le ruban pour exécuter cette macro.

Merci Victor21,
Cordialement.
 

Victor21

XLDnaute Barbatruc
Re : Calcul rapide de toutes les cellules sélectionnées.

Re, zuli3n

L'enregistreur de macro enregistre, une fois lancé, toutes les actions de l'opérateur, et les traduit en VBA.
Revenez avec ce code si vous avez besoin de notre aide pour l'élaguer.
:)
 

zuli3n

XLDnaute Occasionnel
Re : Calcul rapide de toutes les cellules sélectionnées.

Re Victor21,

Oui c'est le premier truc que j'ai fais après votre astuce mais l'enregistreur donne ceci:

Code:
Sub test()
'
' test Macro
'

'
    Range("A1:A5").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
End Sub

Il fixe les cellules A1:A5 et je ne sais pas comment lui dire (vba) Range.Select.Active :confused: et que le PasteSpecial = 2,2

Merci,
Cordialement.
 

Victor21

XLDnaute Barbatruc
Re : Calcul rapide de toutes les cellules sélectionnées.

Re,

Essayez, avec 2.2 en B1 de Feuil1 :
VB:
Sub test()
With Worksheets("Feuil1")
    .Range("B1").Copy
    .Range("A1:A5").PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
End With
End Sub
 

zuli3n

XLDnaute Occasionnel
Re : Calcul rapide de toutes les cellules sélectionnées.

Re,

Merci Victor.
Bon j'ai bien compris qu'on est obligé de lui donner des valeurs pour les cellules à sélectionner Range("A1:A5") et qu'il est donc pas possible de se contenter des cellules sélectionnées par l'utilisateur dans le feuillet.

Merci,
Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Calcul rapide de toutes les cellules sélectionnées.

Bonsoir zuli3n, Victor21, le Forum,

Si j'ai bien compris le sujet, une simple boucle suffit.

Voir exemple sur fichier joint.

Cordialement.
 

Pièces jointes

  • Copie de Exemple-Zu.xlsm
    19.6 KB · Affichages: 35

Victor21

XLDnaute Barbatruc
Re : Calcul rapide de toutes les cellules sélectionnées.

Re, zuli3n
Et avec :
VB:
Sub test2()
Range("B1").Copy
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
Application.CutCopyMode = 0
End Sub

Edit : Bonsoir, Papou-net ;)
 
Dernière édition:

zuli3n

XLDnaute Occasionnel
Re : Calcul rapide de toutes les cellules sélectionnées.

Bonsoir Papou-net,

Effectivement s'est exactement se que je recherche. Merci, vraiment.
J'avoue j'aurais jamais pensé à la boucle ...

Code:
Private Sub CommandButton1_Click()
For Each cel In Selection
  cel.Value = cel.Value * 2.2
Next
End Sub
Ni au cel.Value

Merci Papou-net et Victor21,
Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 088
Membres
103 116
dernier inscrit
kutobi87