Code VBA de Excel 2010 à Excel 2016

Bonjour

Sous Excel 2010, j'utilise le code suivant :

LocTarget02 = LocTarget01 & "\" & Format(Sheets("Main").Range("G3").Value, "yyyymmdd")

Qui sert donc à définir un chemin basé sur le LocTarget01 (en fait le dossier contenant le fichier Excel en fonction) auquel est attaché ensuite un sous dossier dont le nom est basé sur le contenu de la cellule G3 de la feuille "Main" (la date effective en fait)

Sous Excel 2010 32 bits, aucun souci, le code passe et je peux plus loin créer ce dossier avec MkDir

Sous Excel 2016 32 bits, le même code génère une erreur : " Compile Error Can't find project or Library"

Avez-vous une idée ?

Bonjour

ThisWorkbook.Path donne, je crois, le chemin du classeur actif.

@ bientôt

LouReeD

oui, tout à fait,

mais le but de la commande est de créer un sous dossier dont le nom est basé sur le contenu d'une cellule.

Bonsoir,

LocTarget02 = ThisWorkbook.Path & "\" & Format(Sheets("Main").Range("G3").Value, "yyyymmdd")

@ bientôt

LouReeD

Bonjour à tous,

dans Outils / Références... de VBE tu dois en avoir une marquée MANQUANT.

Décoche là.

eric

Merci de votre assistance,

Je vous tiens au jus

pour les références, en fait il y en a plein de non cochées, dois-je les cocher toutes du coups ?

Jeepee

Bonjour à tous,

As-tu testé :

LocTarget02 = LocTarget01 & "\" & VBA.Format(Sheets("Main").Range("G3").Value, "yyyymmdd")

En espèrant que cela t'aide

Bonjour @ tous !

En fait je m'aperçois que j'ai beaucoup à apprendre !

LocTarget01 et 02 ne sont pas des variables comme les autres ?!

En fait je ferais mieux de me taire et de regarder !

@ bientôt

LouReeD

Je ne t'ai pas dit d'en cocher, je t'ai dit de cocher celles marquées MANQUANT s'il y en a (écrit en toutes lettres après la référence).

Loureed, pourquoi elles ne seraient pas comme d'autres ? On ne sait pas comment elles sont déclarées mais ce sont sans doute des String.

Je pense plutôt qu'il a dû déclarer des objets en EarlyBinding au lieu de LateBinding et avec le changement de version vba ne retrouve pas la bonne dll.

Reste à voir s'il a vraiment des manquants

eric

Je pense plutôt qu'il a dû déclarer des objets en EarlyBinding au lieu de LateBinding

Je pensais que c'était des variables "associées" aux Truc manquante, donc des variables "système" un peu comme Target pour les codes événementiels...

Tout cela devient du "chinois" pour ma pauvre personne...

@ bientôt

LouReeD

Merci de tout ça

en combinant vos réponses et une analyse plus complète, je progresse

J'arrive de nouveau à vérifier et créer des nouveaux dossiers comme avant, ainsi que la création de fichiers PDF au sein desdits dossiers

Etape suivante, récupérer la fonction d'appel à Outlook pour envoyer les pdf par émail

Encore mille merrci à vous

Non mais tu vas le dire si tu avais des manquants ou pas ???

Qu'on sache si c'était bien la cause.

Etape suivante, récupérer la fonction d'appel à Outlook pour envoyer les pdf par émail

Ca veut dire quoi ?

Que tu continues à avancer ou c'est une question ?

eric

je te dirai demain pour les éventuels manquants

ensuite, c'était juste pour dire que je progressais bien,

mais évidemment, l’appel vers Outlook foirait, je vais tenter un autre code, on trouve différentes manières de le faire

Me revoilà

Aucune référence portée manquante qui est cochée..

mais avouez que c'est pénible, une grande quantité de commandes qui fonctionnaient parfaitement avec Office 2010 ne fonctionnent plus…

Rechercher des sujets similaires à "code vba 2010 2016"