hilpers


  hilpers > microsoft.* > microsoft.excel

 #1  
10/03/2010, 13h22
Olivier
Bonjour,
j'utilise la fonction PGCD dans Excel 2003 pour simplifier 4 valeurs a,b,c,d
Le but est le calcul de p=pgcd(a,b,c,d)
puis a =a/p
b=b/p
c=c/p
d=d/p
J'y arrive avec Excel mais je bute lors du passage en VBA
A mon avis, cela provient de la fonction PGCD qui n'est pas reconnue en VBA.
Je peux créer PGCD(a, b) mais avec 4 nombres comment faire ?
Si quelqu'un peut m'aider...
Olivier
 #2  
10/03/2010, 13h27
michdenis
Bonjour,

En vba,

tu peux accéder à cette fonction PGCD() en vba par

x = WorksheetFunction.Gcd(a,b,c,d)




"Olivier" <olivier1970> a écrit dans le message de groupe de discussion :
hn89up$i9a$1...
Bonjour,
j'utilise la fonction PGCD dans Excel 2003 pour simplifier 4 valeurs a,b,c,d
Le but est le calcul de p=pgcd(a,b,c,d)
puis a =a/p
b=b/p
c=c/p
d=d/p
J'y arrive avec Excel mais je bute lors du passage en VBA
A mon avis, cela provient de la fonction PGCD qui n'est pas reconnue en VBA.
Je peux créer PGCD(a, b) mais avec 4 nombres comment faire ?
Si quelqu'un peut m'aider...
Olivier
 #3  
10/03/2010, 14h02
Olivier
Merci pour la réponse rapide mais cela ne marche pas.
Cela me donne "Erreur d'exécution 438. Propriété ou méthode non géré par cet
objet."
Voici mon code :
Sub ppp()
a = 28
b = 12
c = 16
d = 32
x = WorksheetFunction.Gcd(a, b, c, d)
MsgBox x
End Sub
Une idée ?
Olivier



"michdenis" <michdenis> a écrit dans le message de news:
u55IQ3FwKHA.4492...
[..]
 #4  
10/03/2010, 14h13
michdenis
Cette procédure ne génère aucune erreur et
retourne 4 comme réponse.
'**********************************
Sub ppp()
a = 28
b = 12
c = 16
d = 32
x = WorksheetFunction.Gcd(a, b, c, d)
MsgBox x
End Sub
'**********************************
 #5  
10/03/2010, 14h26
Olivier
Merci, mais chez moi ca ne marche pas.
J'ai remarqué que lorsque je tape gcd cela reste gcd et n'est pas transformé
en Gcd (avec la majuscule). Comme si, vba ne reconnaissait pas cette
fonction. Je suis sous Excel 2003 est-ce que quelqu'un sait d'où peut
provenir mon erreur.
La fonction pgcd marche bien dans Excel..
Olivier



"michdenis" <michdenis> a écrit dans le message de news:
eoqe0QGwKHA.2436...
[..]
 #6  
10/03/2010, 14h29
michdenis
Ok, pour les versions antérieures à 2007,
la macro complémentaire "utilitaire d'analyse" doit être chargée.

La procédure va comme suit :
'-------------------------------
Sub ppp()
a = 28
b = 12
c = 16
d = 32
x = Evaluate("PGcd(" & a & "," & b & "," & c & "," & d & ")")
MsgBox x
End Sub
'-------------------------------
 #7  
10/03/2010, 14h37
Olivier
Merci, ca marche !
Je préférais la syntaxe de l'autre mais bon.
Je crois que je ne saurais pas pourquoi elle ne marche pas.
Merci à toi !
Olivier



"michdenis" <michdenis> a écrit dans le message de news:
eppLxZGwKHA.3896...
[..]
 #8  
10/03/2010, 14h47
michdenis
| Je crois que je ne saurais pas pourquoi elle ne marche pas.

Les fonctions de la feuille de calcul sont accessibles en utilisant
l'objet "WorksheetFunction" sauf pour quelques unes dont PGCD()
Si tu veux savoir pourquoi, il faut t'adresser directement à Microsoft.

Elle est présente avec Excel 2007.
 #9  
10/03/2010, 15h24
Olivier
Une reaison de plus de passer à v2007 :-)
Merci
Olivier

"michdenis" <michdenis> a écrit dans le message de news:
uD1gxjGwKHA.1796...
[..]
 #10  
10/03/2010, 16h24
Daniel.C
Bonjour.

Dans la fenêtre VBE, il faut cocher dans Outils, Références
"ATPVBAEN.xls". La syntaxe est alors la suivante :

x = Gcd(a, b, c, d)

Cordialement.

Daniel
[..]
 #11  
10/03/2010, 16h54
michdenis
| Une reaison de plus de passer à v2007

Peut-être! Mais comme Daniel le fait remarquer dans son message,
comme la fonction que tu désires fait partie des fonctions comprises
dans la macro complémentaire "Utilitaire d'analyse", si tu ajoutes
la référence : Project atpvbaen.xls,
Chemin du fichier :
C:\Program Files (x86)\Microsoft Office\OFFICE11\Bibliothèque\Analyse\ATPVBAEN.XLA

Tu auras accès directement à toutes les fonctions de la macro complémentaire.
Dans la fenêtre de l'éditeur de code, raccourci clavier F2, tu sélectionnes
"atpvbaen.xls" dans la liste déroulante où il est inscrit "toutes les bibliothèques"
du haut de la fenêtre, tu auras le nom de chacune des fonctions contenues
dans cette macro complémentaire.

Comme ce n'est pas des fonctions natives d'Excel, elles ne font pas parties
des fonctions que retournent l'objet "WorksheetFunction"

Voilà pour la précision.
Discussions similaires
pgcd d'une suite infinie

Bonjour, peut-on parler du pgcd d'une suite infinie d'entier ? Déjà si on considère la suite des nb 1er, oui, c'est 1.., pour celle des 2^n (n>0) c'est 2!!. .mais dans le...

PPCM et PGCD

Bonjour Je suis à la recherche d'un automatisme en VBA pour calculer le PPCM et le PGCD entre plusieurs nombres (le nombre de nombres peut varier) Si vous avez des pistes...

PGCD

Bonjour je me demande pourquoi PGCD et pas PGDC ? Et pourquoi GCD en anglais ? Et dans d'autres langues, c'est comment ? Merci

PGCD

Une astuce pour utiliser les fonctions amenées par des xla (dont l'utilitaire d'analyse) est de définir un nom et de l'utiliser ensuite dans la MFEC Exemple pour mettre en...


Fuseau horaire GMT. Il est actuellement 23h11. | Privacy Policy