Choisir macro selon version excel

Résolu
Jimmy25620 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Jimmy25620 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je passe pas mal de temps sur les forums, un grand merci pour tous les messages qui m'ont permis jusque là de me sortir les mains du cambouis VBA...

Mais là, je sèche ! J'ai une macro dans un doc que je veux envoyer à différentes personnes mais sans savoir quelle est leur version excel.

J'ai testé sur du 2010 et 2007, ça roule, mais pas en 2003... c'est la commande d'envoi de mail qui ne fonctionne pas.

Je connais les commandes des 2 versions mais je voudrais attaquer ma macro par un test de la version excel :

Inscrire dans une cellule la version excel, et partir ensuite sur une conditionnelle If

Si la version excel est 2003, alors appliquer selon méthode 1
Si la version est 2007 ou 2010 appliquer selon méthode 2

Pouvez vous m'aider ? Je n'arrive pas à utiliser application.version

Est ce que je risque de rencontrer d'autres problèmes de ce type avec la commande envoi mail avec d'autres versions ?

D'avance un grand merci

Jimmy25620

A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

Je n'arrive pas à utiliser application.version

Comme ceci, cela fonctionne pourtant :

If Application.Version < "12.0" Then MsgBox "2003" Else MsgBox "2007 ou +"
0
Jimmy25620 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   2
 
Je te remercie pour cette aide. Je ne parviens pas encore à ce que je voudrais, donc j'ai triché (comme d'hab...) !

Voici mon code :

If Application.version < "12.0" Then MsgBox "2003" Else Application.Run ("envoi_mail2007")
If Application.version < "12.0" Then Application.Run ("envoi_mail2003") Else MsgBox "2007"

mais du coup, quoi qu'il arrive, il me sort une msgbox... pas terrible. Comment lui dire de ne rien faire . Vois tu l'idée ? Sélectionner la macro selon la version excel.

Merci encore pour ton aide
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

If Application.Version < "12.0" Then 
Application.Run ("envoi_mail2003")
Else 
Application.Run ("envoi_mail2007") 
End If

Si en 2003 tu ne veux rien faire, tu supprimes la ligne :

If not Application.Version < "12.0" Then Application.Run ("envoi_mail2007") 
0
Jimmy25620 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   2
 
Là je suis honteux, j'avais la solution à portée de main...
Merci encore pour ton aide, bonne nuit et à bientôt sur le forum !
Amicalement,
Jimmy
0