Compatibilité entre différentes versions - Modification sur autre classeur Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'056
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 4 janvier 2020, 19:35

Bonsoir
une idée... pourquoi ne pas utiliser saveas au lieu savecopyas
Fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
A
Alice76
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 4 janvier 2020
Version d'Excel : 2019

Message par Alice76 » 4 janvier 2020, 19:46

Je viens de tester, ça ne fonctionne pas (mais merci pour l'idée :wink: ), mais peut être me manque-t-il un argument ?
With ActiveWorkbook
.SaveAs Filename:="C:\Users\Alice\Documents\suivi\janvier\" & mois & "\" & mois & " " & nom & ".xlsm"
End With
Workbooks("Classeur vierge").SaveAs "C:\Users\Alice\Documents\suivi\janvier\" & mois & "\" & mois & " " & nom & ".xlsm"
J'ai testé ces 2 codes...
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'056
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 4 janvier 2020, 19:50

il n'y pas un soucis ici
\janvier\" & mois & "\
tu as un sous dossier janvier dans lequel un autre sous dossier du contenu de la variable mois existe ??
Fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
A
Alice76
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 4 janvier 2020
Version d'Excel : 2019

Message par Alice76 » 4 janvier 2020, 19:57

Oui, effectivement, j'ai copié le code ici avant de faire la modification...
Mais ca ne résout pas le problème.
J'ai tenté également en rajoutant un Filename:= après le SaveAs, pas plus de résultat.
(Tout en sachant que c'est vraiment sur 2007 que ça ne fonctionne pas...)
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'056
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 4 janvier 2020, 19:59

Je penses comme Eric... (que je salut)
je penses que le problème est que un des dossiers dans le chemin d'enregistrement n'existe pas...
faudrait faire un mkdir au préalable pour etre sur que le dossier existe...
Fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'056
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 4 janvier 2020, 20:07

que renvoi cette instruction avant ton enregistrement
MsgBox Dir("C:\Users\Alice\Documents\suivi\" & mois & "\", vbDirectory) 
Fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'056
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 4 janvier 2020, 20:23

Bon je confirme
je viens de demarrer le PC de ma femme qui a office 2007... et ces deux instructions fonctionnent sous 2007 si les dossiers existent
ActiveWorkbook.SaveAs "C:\Users\flo\Documents\suivi\" & mois & "\" & mois & " " & nom & ".xlsm"
Workbooks("classeur vierge.xlsm").SaveAs "C:\Users\flo\Documents\suivi\" & mois & "\" & mois & " " & nom & ".xlsm"
Attention les chemins ont été adaptés qu pc de ma femme !!!
Capture.PNG
Fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
A
Alice76
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 4 janvier 2020
Version d'Excel : 2019

Message par Alice76 » 4 janvier 2020, 20:29

Ca ne renvoit rien...

Donc si je comprends bien, c'est mon chemin d'accès qui est mauvais pour être compris sous 2007
Pour donner toutes les infos, ma hierachie actuelle est ainsi :
"C:\Users\Alice\Documents\suivi" -> contient le classeur vierge (qui s'ouvre bien)
"C:\Users\Alice\Documents\suivi\janvier" -> contient le classeur procédure (avec la macro de copie)
et l'enregistrement doit se faire dans ce dernier dossier sous le nom "Mois Nom.xlsm"
donc avec un chemin "C:\Users\Alice\Documents\suivi\janvier\janvier nom.xlsm"

Je ne connais pas Mkdir, et je n'arrive pas à réadapter les solutions vus sur les autres fils de discussion, si tu peux m'en dire plus :)
A
Alice76
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 4 janvier 2020
Version d'Excel : 2019

Message par Alice76 » 4 janvier 2020, 20:36

Grrr, je m'autoflagelle!!!!!!

Merci à tous les 2 pour votre aide, il suffit d'une petite erreur de variable mal écrite pour se prendre la tête toute l'aprem...

En tout cas, ça fonctionne, il me suffisait de rajouter .xlsm (et de vérifier mes variables...)
Je m'en vais vérifier les autres macros, mais ça me donne bien des pistes si je coince...
Avatar du membre
fred2406
Membre impliqué
Membre impliqué
Messages : 2'056
Appréciations reçues : 37
Inscrit le : 13 mai 2014
Version d'Excel : O365Pro-2019-2011MAC
Version de Calc : 6.3

Message par fred2406 » 4 janvier 2020, 20:39

si Dir ... renvoi rien c'est que le dossier de destination n'existe pas...
si tu es sur du chemin et que suivi existe...
tu peux faire cela; pour tester l'existence du sous dossier "mois" si il n'existe pas il est créer
If Dir("C:\Users\Alice\Documents\suivi\" & mois & "\") = "" Then MkDir "C:\Users\Alice\Documents\suivi\" & mois & "\"
Fred
Je ne réponds pas aux M.P. non sollicités.
Ne pas oublier :
:btres:
Fred :O-O:
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message