Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Enregistrer un classeur avec une macro

J

juliette

Guest
Bonjour à toutes et à tous...

Pourriez-vous jeter un oeil sur ma macro?

J'ai un code (récupéré sur le forum) qui doit me permettre de vérifier la semaine dans laquelle nous sommes puis d'enregistrer_sous le classeur avec le bon numéro de semaine...

toutefois, lorsque je clique sur le bouton, rien ne se passe...

avez-vous une solution?

en place et lieu de mon code ne peut-on pas imaginer un code qui fasse référence à une cellule (A1 par exemple) dans laquelle nous aurions le numéro de semaine?

merci d'avance

Juliette
 

Pièces jointes

  • testsemaine49.zip
    9.7 KB · Affichages: 57
R

Roland

Guest
Salut juliette

il y a un probleme de type.
Ta ligne numsem= format(date,"ww",,) te donne le nombre de la semaine
Comme tu mets numsema en type date, cela te met numsem égale à la date 01/01/1900


Dim NumSem As Integer
Dim NomFichier As String

Application.DisplayAlerts = False

NumSem = Format(Date, "ww", , vbFirstJan1)
NomFichier = "test semaine " & Format(NumSem, "00")
If Mid(ActiveWorkbook.Name, 14, 2) < NumSem Then
ActiveWorkbook.SaveAs Filename:="C:\" & NomFichier 'adapter le repertoire selon le projet
End If

Bye Roland
 
P

Pascal76

Guest
Salut Juliette

Ton erreur vient je pense d'une mauvaise déclaration de ta variable NumSem. Si tu la déclares en Integer cela marche.

De plus je pense qu'un petit test sur l'année serait peut-être nécessaire car en fin d'année tu es coincée (ta semaine 1 est plus petite que ta semaine 52).

A bientôt

Pascal
 
J

juliette

Guest
re-bonjour à tous...

je vous remercie pour votre aide mais... j'ai modifié la déclaration de ma variable numsem mais cela n'a pas fonctionné: j'ai cliqué sur le bouton et rien ne s'est passé...

j'ai copié-coller le code de Roland mais idem rien non plus...


pouvez-vous me faire un fichier joint?

merci d'avance.
 
J

JPM

Guest
Re....... à tous

Je pense que ça vient de ton ActiveWorkbook.Name test plutot avec NomFichier
If Mid(Nomfichier, 14, 2) < NumSem Then

C'est court mais j'ai pas le temps pour un fichier joint

A+ JPM
 
M

michel

Guest
bonjour juliette , JPM , Pascal et Roland

Juliette , la macro de Roland fonctionne bien .
il ne se passe rien car tu compares le numero de la semaine en cours (02) par rapport au numero de semaine indiqué dans le nom du fichier (49) . Dans la macro , un nouveau fichier est sauvegardé uniquement quand le numero de semaine en cours est plus grand que le numero dans le nom du classeur en cours ... fait un essai en remplacant 49 par 01 dans le nom de ton fichier...


bonne soirée
michel
 
P

Pascal76

Guest
Salut Juliette

Tout à fait d'accord avec ce que vient de dire Michel.

Voilà pourquoi dans mon post précédent je te disais qu'un test sur l'année serait certainement nécessaire.

Pascal
 
J

juliette

Guest
Bonjour Michel, Pascal et le forum...

Je viens d'apporter les modifications et effectivement ça fonctionne...

Pascal, peux-tu me dire comment je dois procéder pour tester également l'année?

Merci encore à vous...
 
P

Pascal76

Guest
Re Juliette

Alors tu vas bien reparti pour une nouvelle année d'excel et de mot de passe (LOL) ;-) (Ps j'ai vu dans un autre fil que tu peux maintenant en faire profiter d'autres)

Pour ta question sur l'année fais peut-être un test sur le numéro de semaine = 1 et dans ce cas créer un nouveau répertoire avec l'année.

Je ne sais pas si cela te suffit.

Pascal
 
J

juliette

Guest
Bonjour Pascal...

et oui, c'est reparti pour un tour... lol

oui, je fais profiter les autres personnes de tes travaux... lol


Par contre, je n'ai pas réussi à faire le test sur l'année... mais j'ai procédé comme tu me l'as conseillé (création d'un répertoire).


PS: j'ai fait un autre file, peux-tu jeter un oeil?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…