Multiplier Diviser plusieurs nombres avec fonctions personnalisées

Lone-wolf

XLDnaute Barbatruc
Bonjour à Tous,

comment multiplier et diviser une plage de celulles avec des fonctions personnalisées?

Voir fichier joint.



A+ :cool:
 

Pièces jointes

  • Classeur1.xls
    43 KB · Affichages: 140
  • Classeur1.xls
    43 KB · Affichages: 146
  • Classeur1.xls
    43 KB · Affichages: 138

Staple1600

XLDnaute Barbatruc
Re : Multiplier Diviser plusieurs nombres avec fonctions personnalisées

Bonsoir le fil

Juste de passage pour saluer Job75 et apprécier son VBA ;)
EDITION: sur un PC sous XL2003 cela bogue , Job75 .

Lone-Wolf : salutations, en espérant que tu prennes goût au VBA en lisant des codes tel que celui de Jo75 (entre autres membres du forum férus de VBA)
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Multiplier Diviser plusieurs nombres avec fonctions personnalisées

Bonsoir Jean-Marie :)

Je suis sous Excel 2003 aussi.

Le seul bug que j'ai vu c'est quand la plage est horizontale (vecteur ligne).

J'ai eu un peu de mal à trouver cette solution :

Code:
Function Operation(Otype$, Plage)
Dim aux$, i As Byte, operateur$
If Plage.Rows.Count = 1 Then Plage = Application.Transpose(Plage)
Plage = Application.Transpose(Plage)
aux = "A+S-M*D/"
i = InStr(aux, UCase(Left(Otype, 1)))
operateur = Mid(aux, i + 1, 1)
Operation = Evaluate(Join(Plage, operateur))
If IsError(Operation) Then Operation = "" 'facultatif
End Function
Fichier (3)

A+
 

Pièces jointes

  • Operations(3).xls
    42 KB · Affichages: 39

job75

XLDnaute Barbatruc
Re : Multiplier Diviser plusieurs nombres avec fonctions personnalisées

Re,

Un tantinet perfectionniste...

Version (4) en cas de cellules vides dans la plage :

Code:
Function Operation(Otype$, Plage)
Dim aux$, i As Byte, operateur$, txt$
If Plage.Rows.Count = 1 Then Plage = Application.Transpose(Plage)
Plage = Application.Transpose(Plage)
aux = "A+S-M*D/"
i = InStr(aux, UCase(Left(Otype, 1)))
operateur = Mid(aux, i + 1, 1)
txt = Join(Plage, " ")
txt = Application.Trim(txt) 'fonction Excel SUPPRESPACE
txt = Replace(txt, " ", operateur)
Operation = Evaluate(txt)
If IsError(Operation) Then Operation = "" 'facultatif
End Function
A+
 

Pièces jointes

  • Operations(4).xls
    42.5 KB · Affichages: 35

Lone-wolf

XLDnaute Barbatruc
Re : Multiplier Diviser plusieurs nombres avec fonctions personnalisées

Bonsoir Job, Stapple,

@Stapple: bien sûr que c'est superbe et j'y prend goût!!

Job, si ça continue comme ça, on vas arriver à la version 10, version qui battera "POLICE ACADEMY" qui en à 7. ;) :D

Je viens de voir ton MP, Flash ;) . Une 4ème version???

Merci infiniment MAÎTRE, je m'incline (je voudrais aussi dire chapeau bas, mais j'en ai pas LOL).


A+ :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 485
Membres
103 557
dernier inscrit
gerard.messerlin68@orange