Code VBA de Excel 2010 à Excel 2016

Y compris Power BI, Power Query et toute autre question en lien avec Excel
J
Jipé
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 19 septembre 2017
Version d'Excel : 2010 EN

Message par Jipé » 7 mai 2019, 10:12

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 ?
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'661
Appréciations reçues : 320
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 7 mai 2019, 12:29

Bonjour

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

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
J
Jipé
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 19 septembre 2017
Version d'Excel : 2010 EN

Message par Jipé » 7 mai 2019, 12:40

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.
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'661
Appréciations reçues : 320
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 7 mai 2019, 18:48

Bonsoir,

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

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'286
Appréciations reçues : 387
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 8 mai 2019, 08:36

Bonjour à tous,

dans Outils / Références... de VBE tu dois en avoir une marquée MANQUANT.
Décoche là.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
J
Jipé
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 19 septembre 2017
Version d'Excel : 2010 EN

Message par Jipé » 8 mai 2019, 09:24

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
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 8 mai 2019, 09:43

Bonjour à tous,

As-tu testé :
LocTarget02 = LocTarget01 & "\" & VBA.Format(Sheets("Main").Range("G3").Value, "yyyymmdd")
En espèrant que cela t'aide
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'661
Appréciations reçues : 320
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 8 mai 2019, 10:03

Bonjour @ tous ! :o

En fait je m'aperçois que j'ai beaucoup à apprendre ! :lol:
LocTarget01 et 02 ne sont pas des variables comme les autres ?! :?

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

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'286
Appréciations reçues : 387
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 8 mai 2019, 10:37

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
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'661
Appréciations reçues : 320
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 8 mai 2019, 10:55

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

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
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message