|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité(e)
Messages : n/a ![]() |
Bonjour à tous.
Tout d'abord tous mes vœux de bonne année et de bonne santé pour la nouvelle année qui commence Je vous écris car je me retrouve face à une nouvelle difficulté dans ma pratique de VBA. Un de mes utilisateurs utilise un fichier Excel depuis longtemps sous sa version 2003. Pendant les fêtes, son poste a été remplacé et il est maintenant équipé d'Office 2010 et voilà sa tête à son retour de congés Ce fichier contient une formule qui d'après mes recherches n'est plus disponible dans les nouvelles moutures de la suite. Les alternatives que j'ai trouvées me semblent bien complexe avec ajout de module à activer à chaque ouverture du fichier. Le code d'origine est le suivant : Code :
Je sais pas si c'est clair désolé. Si l'un d'entre-vous a une idée pour trouver une alternative fonctionnelle et non exhaustive je lui en serais infiniment reconnaissant. Par avance merci. Peut-être je peux faire quelque chose avec ça ? : Code :
Merci encore pour ceux qui prendront le temps de me lire Dernière modification par AlainTech ; 13/01/2012 à 20h46. Motif: Fusion de 2 messages |
||||
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Ca dépend de ce que tu veux faire. Le problème avec ta solution est que la recherche n'est pas récursive. Je ne sais pas si elle l'était dans la version précédente.
Je suppose que tu as déjà regardé ce complément ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#3 |
|
Invité(e)
Messages : n/a ![]() |
De ce que j'ai vu du lien que tu as envoyé justement c'était que c'était assez dense en code et qu'il fallait ensuite activer une référence chaque fois qu'il voudrait activer la fonction.
Le principe de la partie du code que je cherche à aménager si je comprends le fonctionnement c'est de chercher dans un répertoire donné si un fichier existe déjà avec un début de nom à 3 chiffres, s'il n'existe pas utiliser 001, s'il existe le numéro suivant et ainsi de suite. La fin du code enregistre le fichier créé dans ce même dossier. Ainsi au fur et à mesure du mois, les fichiers se succèdent en "001-01-2012 xxx.xls", "002-01-2012 xxx.xls", "003-01-2012 xxx.xls". |
00
|
|
|
#4 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Dans ce cas, la fonction que tu proposes devrait marcher.
Pour le lien, c'est un complément qu'il suffit d'installer une fois sur ton poste.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#5 | ||||||
|
Invité(e)
Messages : n/a ![]() |
Ou alors peut-être plutôt quelque chose comme ça mais je sais pas comment adapter non plus je suis pas un expert
Code :
Code :
Code :
Ce que je ne sais pas comment adapter notamment c'est : filespec = ? Juste le dossier ou un *.xls? Va-t-il les compter comme avec .FoundFiles.Count Et comment remplacer le .FoundFiles.Count avec (fso.FileExists(filespec)) ? Comment les distinguer par rapport au code d'origine de mon premier post je suis un peu perdu erf désolé d'être un nioub à ce sujet. Je crois même qu'il ne se basait pas sur le nom des fichiers du dossier mais sur le nombre de fichier dans le dossier et de fait appelait le fichier encours avec le nombre de fichier du répertoire +1. Dernière modification par AlainTech ; 13/01/2012 à 20h48. Motif: Fusion de 2 messages |
||||||
00
|
|
|
#6 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je pense qu'il comptait juste le nombre de fichiers dans le répertoire, il n'y avait pas d'histoire de nom.
Si je ne me trompe pas, tu dois pouvoir t'en sortir de la manière suivante : Code :
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
||
|
|
10
|
|
|
#7 |
|
Invité(e)
Messages : n/a ![]() |
T'es un ange ZebreLoup ça fonctionne parfaitement et grâce à toi je vais pouvoir apprendre à utiliser une nouvelle fonction, merci mille fois !!
|
00
|
Copyright © 2000-2012 - www.developpez.com