Compatibilité Macro Excel 2016 sur Excel 2013

Rebonjour,

maintenant que Bruno m'a fait un super code en 2 temps 3 mouvements, (merci encore)

se pointe un nouveau probleme, une fois le code adapté et testé et modifié en fonction de mes données pour qu'il fonctionne, j'envoie a mes collegues utilisateurs, ...

problemes, tout le bureau est sous excel 2013, alors que je suis sur 2016, un objet n'est pas compilable, il s'agit d'une date sur cette ligne de code

If DateDiff("d", Date, MaDate) < [NbJour] Then

il y a des chances pour que le reste du code souffre d'autres soucis du genre, existe t il un moyen de rendre la macro compatible sur toutes les versions d'excel ?

un format d'enregistrement ou autre?

merci d'avance

Alexis

Salut Alexis,

Le problème, je pense viens de la cellule nommée "NbJour" que j'ai mis dans le classeur initial

Tu peux très bien la remplacer par une valeur inscrite en dur

If DateDiff("d", Date, MaDate) < 60 Then

Sinon, la variable "Date" est celle utilisée par VBA pour te donner la date du jour

@+

merci bruno, je vais tenter les 2 modifs successivement et je reviens vers toi,

et merci d'expliquer le pourquoi en meme temps que tu donnes la solution, ca me permet de monter en competence en comprennant ;)

Bonjour à tous,

Vu que Date est parfaitement connu de toutes les versions, je pense plutôt que qu'ils ont des références manquantes dû au changement de version.

Dans VBE (l'éditeur VBA), aller dans Outils / Références et décocher toutes les Manquante

eric

situation resolue,

@eric : j'ai activé les reference google que j'avais pas pensé a reactiver sur le nouveau poste aussi ;) merci pour le tuyau

la date ==> remplacée par datetime.date

le nombre de jour remplacé par 60 en dure,

puis decouverte d'autres soucis,

chr(10) correspondant au saut de ligne en ascii (suite a mes recherches) voulait pas passé je l ai donc supprimé pour gagner du temps,

puis toutes les citation de cellule nommée sur 2016 qui se presente comme ca [nom de cellule] et qui renvoi le contenu de la cellule,

sur 2013 j'ai du modifier tous ces champs par range("nom de cellule).value pour que je recois la valeur dans la cellule

merci beaucoup pour votre aide, ca m'a appris plein de chose et permis de voir qu'il y a une vraie communauté d entre aide ici et via internet sur de nombreux site et forum,

je sens que je vais me passionner pour le VBA ^^

a bientot et bonne journée

Rechercher des sujets similaires à "compatibilite macro 2016 2013"