Recherche et création d'un fichier : VBA

Bonjour,

De retour avec mon cahier de liaison. Voilà mon attente : dans la colonne C (dite évènements) on a une liste déroulante où il peut aussi y avoir des noms (ex : Rabir).

A partir d’une macro, je souhaiterais qu’une fenêtre s’ouvre et me demande de choisir l’Evènement (ou Rabir), une période (date de début et de fin). Ce code VBA créerait un nouveau fichier au nom de l’Evènements sélectionné avec date du jour. Dans ce nouveau document on retrouverait deux colonnes, 1 pour la date et l’autre pour les observations. Je voudrais que cette recherche se fasse sur tout le classeur car il y aura autant d’onglet que de semaine dans l’année. J’ai mis un onglet « Exemple » pour le type de document que je voudrais qu’il créait.

J’espère ne pas être trop exigent, si c’est le cas, excusez-moi de ne pas maitriser du tout le VBA.

Francky

Salut,

Voici une première idée de solution à tester. Si ça va dans la bonne direction, on pourra voir ce qu'il faut encore améliorer.

Je n'ai pas compris où tu désirais avoir le report de la date du jour sur le fichier nouvellement créé. A propos, ce fichier nouvellement créé l'est dans le même dossier que celui où tu places le présent fichier de base.

Cordialement.

Bon, tout d’abord merci pour le temps consacré à ma deamnde.

Un très bon début il me semble, mais tout ne fonctionne pas. J’ai mis volontairement quelques observations sur Rabir sur plusieurs feuilles. Losque je lance la macro « ouvrir formulaire ». je sélectionne Rabir, dans date de début je mets « 01/01/2010 et dans date de fin je mets « 31/08/2012 ». Lorsque je valide il me met un message d’erreur : erreur d'execution "1004" (j'ai joins un fichier image). Ensuite il créait bien le fichier mais au non « Evenement » et pas au nom « Rabir ». Pour finir, il n’y a rien dans le document qu’il créait !

Francky

excel

Re,

J'ai fait mes essais avec des dates suisses. Voici donc à quoi ressemble ma saisie ....

capture 20 08 01

... et voici le résultat:

capture 20 08 02

Si ça ne passe toujours pas, essaie donc avec des points afin de séparer la date. Si c'est ça, on verra comment transformer le code afin que tu puisses utiliser le format de dates que tu veux. Mais normalement Excel devrait accepter ces différents paramètres régionaux ; ça m'étonnerait que le problème vienne de là.

Il se peut donc que le problème vienne du fait que tu effectues deux essais de suite (le même jour) pour le même évènement. Comme mon code ne prévoit pas la possibilité qu'un fichier avec le même nom existe déjà, il bloque. Afin de faire un deuxième essai immédiatement, tu devrais tout d'abord effacer le premier fichier créé. Si c'est ça, il existe plusieurs possibilités de correction : écraser le premier fichier sans avertissement, demander à l'utilisateur s'il veut stopper la procédure ou remplacer le fichier existant, enregistrer avec un nom plus précis afin d'éviter le problème (indiquer le nom et l'heure dans le titre), etc.

A te relire.

merci Yvouille,

malheureusement cela ne fonctionne pas chez moi. j'ai essayé avec les points pour séparer les dates et cette fois-ci j'ai une erreur d'execution "13" et il cré même pas de document. j'ai réessayé avec des / et je eu de nouveau mon erreur précédente.

Je commence à me demander si il n'y a pas quelques choses au niveau option Excel, d'ailleurs je te précise que c'est sous excel 2010 que je travaille au cas où !

merci pour ton soutien

Francky

J'ai testé ce fichier avec les versions 2007 et 2010 et ça passe partout chez moi.

Pour les dates, tu dois effectivement les inscrires comme tu as l'habitude, Excel utilise effectivement les paramètres régionaux.

As-tu vraiment supprimé les premiers essais effectués avant d'en recommencer d'autres ?

A te relire.

bon, je n'y comprends rien, j'ai bien vérifié et je n'ai pas de fichier créé ou de doublon qui pourrait gêné la macro. J'ai même copier le fichier dans un répertoir nouveau pour réessayer, mais rien à fiare toujours la méme erreur. Et pourtant les images que tu as mis représente exactement ce que je veux !

je vais essayer différente manip et je te tiens au courant...

Francky

Salut,

J’imagine que tu ouvres le fichier que je t’ai fourni le 20.08, que tu l’enregistres à un endroit quelconque de ton arborescence puis que tu effectues un premier essais sans rien modifier du tout, après avoir bien contrôler qu’il n’y a pas déjà un fichier « Evènement quelconque – jj.mm.aaaa » déjà créé pour l’évènement testé et ce jour-là (par sécurité, fait un premier essai avec une date de début assez éloignée (par exemple le 01.01.2000) et une date de fin dans le futur).

Si c’est bien ainsi que tu as fait tes essais, peux-tu cliquer sur « Débogage » lorsque ton message d’erreur apparaît et indiquer – si possible par une copie d’écran – quelle est la ligne marquée en jaune à ce moment-là ?

A te relire.

Bonjour,

et bien oui, j'ai bien l'air de faire tout ce que tu dis, je l'ai d'ailleurs refait dans un nouveau répertoire mais toujours le même bug, alors je te joint la copie écran pour le "debug"

merci Francky

debug

Essaie cette solution fournie par un ami qui désire rester anonyme. Il préconise de ne pas utiliser la variable Excel "Date", mais de créer une variable personnelle "LaDate". Pour les paramétres régionaux, testé par lui en France sur Excel 2003 et par moi en Suisse sur Excel 2010.

Cordialement.

Youpi ! ça marche. Merci pour tout ses efforts même s'il met difficile de comprendre pourquoi ça marchait chez toi et pas chez moi...

J'allais te poser quelques prblème de mis en page pour le fichier qu'il crée, mais j'ai vu quand modifiant le fichier exemple, il crée un fichier identique, donc j'ai travaillé la mis en page du fichier exemple.

Je vais maintenant crée des onglet sur l'année et faire une vrai liste d'évènements et je te tiens au courant si j'ai un souci.

Encore merci à toi et ton ami anonyme.

Francky


Merci beaucoup Yvouille et à ton ami anonyme.

En effet, maitenant ça marche. Je vais donc essayé de finalisé mon fichier en créant autant d'onglet que de semaine dans l'année et avec un vrai liste d'Evenements. je te tiens au courant si ça ne marche pas.

Encore merci Francky

Francky69100 a écrit :

même s'il met difficile de comprendre pourquoi ça marchait chez toi et pas chez moi...

Ce n'est pas le dernier casse-tête que nous proposera Excel. A première vue, si tu avais créé ce code chez toi, la variable "Date" serait acceptée chez toi et ne passerait pas chez moi (????). Mais bon, tu as ta solution alors tout est bien qui finit bien

J'ai vu sur un autre de tes fils que tu te demandais s'il y avait la possibilité de créer les 52 ou 53 feuilles nécessaires à chacune des semaines de l'année. Faut-il plancher là-dessus ?

A te relire.

Rechercher des sujets similaires à "recherche creation fichier vba"