Choisir macro selon version excel

Résolu/Fermé
Jimmy25620 Messages postés 13 Date d'inscription jeudi 17 juin 2010 Statut Membre Dernière intervention 11 décembre 2013 - 17 juin 2010 à 17:06
Jimmy25620 Messages postés 13 Date d'inscription jeudi 17 juin 2010 Statut Membre Dernière intervention 11 décembre 2013 - 17 juin 2010 à 23:31
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
17 juin 2010 à 18:13
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 jeudi 17 juin 2010 Statut Membre Dernière intervention 11 décembre 2013 2
17 juin 2010 à 21:48
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
17 juin 2010 à 23:04
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 jeudi 17 juin 2010 Statut Membre Dernière intervention 11 décembre 2013 2
17 juin 2010 à 23:31
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