bonjour =E0 tous
Une macro qui m'a =E9t=E9 propos=E9e par le steph et papou et=20
que j'ai (modestement)adapt=E9e
Sub renommplus prefixe avant ()
Dim machaine, newchain As String
machaine =3D ActiveWorkbook.Name
newchain =3D [B3] & "_" & Mid(machaine, 1, Len(machaine) -=20
4) & ".xls"
ChDir "D:\astusinformatic\aaa" 'j' impose le=20
repertoire
ActiveWorkbook.SaveAs (newchain)ActiveWorkbook.SaveAs=20
(newchain)
Kill "D:\astusinformatic\essai recuperer=20
donnee.xls" ' je supprime le fichier initial
End Sub=20
=C7a marche nickel mais :
-Je souhaite que l'enregistrement se fasse dans le=20
repertoire et sous repertoire ou se trouve le fichier
-je souhaite que le fichier initial soit supprim=E9 dans=20
le repertoire actif
.car les repertoires en question seront deplac=E9s sur=20
divers serveurs ou travaillent les utilisateurs
je ne peux donc pas imposer leur nom dans le code
j'ai voulu mettre ActiveDIR, mais je me suis fait jet=E9 !
Si des VBAtistes sont dispo actuellement et peuvent me=20
pr=EAter main forte , je leur fais une pri=E8re pour 15 jours=20
de soleil
A+=20
gilles
je vais essayé ta modif sur le code à JP j'ai essayé ton code qui fonctionne nickel Ce qui serait la cerise sur le gateau serait qu'il puisse faire tous les fichiers du rep par kekchose comme next , sinon c'est pas grave car j'ai une dizaine de fichiers concernés merci à toi et à JP GILLES
-----Message d'origine----- non, il faut vraiment qu'il soit fermer. mais en regardant la proc de Jp
bonjour isabelle , tu arrives comme le messie depuis ce matin que j'em...JP je ne parviens pas à m'en sortir ou je le renomme bien mais pas dans le bon repertoire ou le le mets dans le bon repertoire mais pas avec le nom
ou j'ai erreur 1004 je m'apprêtais à jeter l'éponge mais tu me réactives S'il faut qu'il soit fermé , peut être que je peux mettre
le code dans un private..close? J'essaie ça merci Isabelle
-----Message d'origine----- bonjour gilles,
tant qu'à détruire l'ancien tu pourrais simplement le renommer, (le
fichier doit être fermer)
Sub OldNameNewName() OldName = "C:zazaOldNameNewName.xls" NewName = "C:zaza" & var & "OldNameNewName.xls" Name OldName As NewName End Sub
isabelle
jp c'est de la persécution erreur 1004 à+
-----Message d'origine----- Il faut rajouter l'antislash :
je vais essayé ta modif sur le code à JP
j'ai essayé ton code qui fonctionne nickel
Ce qui serait la cerise sur le gateau serait qu'il puisse
faire tous les fichiers du rep par kekchose comme next ,
sinon c'est pas grave car j'ai une dizaine de fichiers
concernés
merci à toi et à JP
GILLES
-----Message d'origine-----
non, il faut vraiment qu'il soit fermer. mais en
regardant la proc de Jp
bonjour isabelle ,
tu arrives comme le messie
depuis ce matin que j'em...JP je ne parviens pas à m'en
sortir
ou je le renomme bien mais pas dans le bon repertoire
ou le le mets dans le bon repertoire mais pas avec le
nom
ou j'ai erreur 1004
je m'apprêtais à jeter l'éponge mais tu me réactives
S'il faut qu'il soit fermé , peut être que je peux
mettre
le code dans un private..close?
J'essaie ça
merci Isabelle
-----Message d'origine-----
bonjour gilles,
tant qu'à détruire l'ancien tu pourrais simplement le
renommer, (le
fichier doit être fermer)
Sub OldNameNewName()
OldName = "C:zazaOldNameNewName.xls"
NewName = "C:zaza" & var & "OldNameNewName.xls"
Name OldName As NewName
End Sub
isabelle
jp
c'est de la persécution
erreur 1004
à+
-----Message d'origine-----
Il faut rajouter l'antislash :
je vais essayé ta modif sur le code à JP j'ai essayé ton code qui fonctionne nickel Ce qui serait la cerise sur le gateau serait qu'il puisse faire tous les fichiers du rep par kekchose comme next , sinon c'est pas grave car j'ai une dizaine de fichiers concernés merci à toi et à JP GILLES
-----Message d'origine----- non, il faut vraiment qu'il soit fermer. mais en regardant la proc de Jp
bonjour isabelle , tu arrives comme le messie depuis ce matin que j'em...JP je ne parviens pas à m'en sortir ou je le renomme bien mais pas dans le bon repertoire ou le le mets dans le bon repertoire mais pas avec le nom
ou j'ai erreur 1004 je m'apprêtais à jeter l'éponge mais tu me réactives S'il faut qu'il soit fermé , peut être que je peux mettre
le code dans un private..close? J'essaie ça merci Isabelle
-----Message d'origine----- bonjour gilles,
tant qu'à détruire l'ancien tu pourrais simplement le renommer, (le
fichier doit être fermer)
Sub OldNameNewName() OldName = "C:zazaOldNameNewName.xls" NewName = "C:zaza" & var & "OldNameNewName.xls" Name OldName As NewName End Sub
isabelle
jp c'est de la persécution erreur 1004 à+
-----Message d'origine----- Il faut rajouter l'antislash :
rebonjour isabelle, résultats : ton correctif du code à JP fonctionne :nickel sinon j'ai mis ton code en application en le dupliquant autant de fois que de fichiers VBA me renvoie erreur 53 Fichier introuvable , et ça bug à chaque fois à la ligne name oldname as newname de l'un des fichiers (jamais le même) à+ et merci gilles
rebonjour isabelle,
résultats :
ton correctif du code à JP fonctionne :nickel
sinon
j'ai mis ton code en application en le dupliquant autant
de fois que de fichiers
VBA me renvoie erreur 53 Fichier introuvable , et ça bug
à chaque fois à la ligne
name oldname as newname de l'un des fichiers (jamais le
même)
à+ et merci
gilles
rebonjour isabelle, résultats : ton correctif du code à JP fonctionne :nickel sinon j'ai mis ton code en application en le dupliquant autant de fois que de fichiers VBA me renvoie erreur 53 Fichier introuvable , et ça bug à chaque fois à la ligne name oldname as newname de l'un des fichiers (jamais le même) à+ et merci gilles
isabelle
bonjour gilles,
si tu travaille sur xl2000 et plus pour utiliser la fonction InStrRev ceci devrait être ok,
Sub macro1() Set fs = Application.FileSearch With fs .LookIn = "C:zaza" .Filename = "*.xls" For i = 1 To .FoundFiles.Count machaine = Right(.FoundFiles(i), InStrRev(.FoundFiles(i), "")) chemin = Left(.FoundFiles(i), InStrRev(.FoundFiles(i), "")) newchain = "zz" & "_" & Mid(machaine, 1, Len(machaine) - 4) & ".xls" ActiveWorkbook.SaveAs chemin & newchain Kill .FoundFiles(i) Next i End With End Sub
isabelle
rebonjour isabelle, résultats : ton correctif du code à JP fonctionne :nickel sinon j'ai mis ton code en application en le dupliquant autant de fois que de fichiers VBA me renvoie erreur 53 Fichier introuvable , et ça bug à chaque fois à la ligne name oldname as newname de l'un des fichiers (jamais le même) à+ et merci gilles
bonjour gilles,
si tu travaille sur xl2000 et plus pour utiliser la fonction InStrRev
ceci devrait être ok,
Sub macro1()
Set fs = Application.FileSearch
With fs
.LookIn = "C:zaza"
.Filename = "*.xls"
For i = 1 To .FoundFiles.Count
machaine = Right(.FoundFiles(i), InStrRev(.FoundFiles(i), ""))
chemin = Left(.FoundFiles(i), InStrRev(.FoundFiles(i), ""))
newchain = "zz" & "_" & Mid(machaine, 1, Len(machaine) - 4) & ".xls"
ActiveWorkbook.SaveAs chemin & newchain
Kill .FoundFiles(i)
Next i
End With
End Sub
isabelle
rebonjour isabelle,
résultats :
ton correctif du code à JP fonctionne :nickel
sinon
j'ai mis ton code en application en le dupliquant autant
de fois que de fichiers
VBA me renvoie erreur 53 Fichier introuvable , et ça bug
à chaque fois à la ligne
name oldname as newname de l'un des fichiers (jamais le
même)
à+ et merci
gilles
si tu travaille sur xl2000 et plus pour utiliser la fonction InStrRev ceci devrait être ok,
Sub macro1() Set fs = Application.FileSearch With fs .LookIn = "C:zaza" .Filename = "*.xls" For i = 1 To .FoundFiles.Count machaine = Right(.FoundFiles(i), InStrRev(.FoundFiles(i), "")) chemin = Left(.FoundFiles(i), InStrRev(.FoundFiles(i), "")) newchain = "zz" & "_" & Mid(machaine, 1, Len(machaine) - 4) & ".xls" ActiveWorkbook.SaveAs chemin & newchain Kill .FoundFiles(i) Next i End With End Sub
isabelle
rebonjour isabelle, résultats : ton correctif du code à JP fonctionne :nickel sinon j'ai mis ton code en application en le dupliquant autant de fois que de fichiers VBA me renvoie erreur 53 Fichier introuvable , et ça bug à chaque fois à la ligne name oldname as newname de l'un des fichiers (jamais le même) à+ et merci gilles
gilles
merci isabelle tu es décidément incollable ! je travaille sur xlxp mais les utilisateurs de cette macro sont en 97 ,2000,xp, donc...mais je vais tester ton code sinon j'ai trouvé pourquoi ça buggait (erreur 53 fichier introuvable) c'est simplement , semble t-il car l'odre des fichiers dans mon code était différent de l'ordre alphabetique ou windows les classe dans le repertoire. MERCI encore à+ gilles
-----Message d'origine----- bonjour gilles,
si tu travaille sur xl2000 et plus pour utiliser la fonction InStrRev
ceci devrait être ok,
Sub macro1() Set fs = Application.FileSearch With fs ..LookIn = "C:zaza" ..Filename = "*.xls" For i = 1 To .FoundFiles.Count machaine = Right(.FoundFiles(i), InStrRev(.FoundFiles (i), ""))
ActiveWorkbook.SaveAs chemin & newchain Kill .FoundFiles(i) Next i End With End Sub
isabelle
rebonjour isabelle, résultats : ton correctif du code à JP fonctionne :nickel sinon j'ai mis ton code en application en le dupliquant autant
de fois que de fichiers VBA me renvoie erreur 53 Fichier introuvable , et ça bug
à chaque fois à la ligne name oldname as newname de l'un des fichiers (jamais le même) à+ et merci gilles .
merci isabelle
tu es décidément incollable !
je travaille sur xlxp mais les utilisateurs de cette
macro sont en 97 ,2000,xp, donc...mais je vais tester ton
code
sinon j'ai trouvé pourquoi ça buggait (erreur 53 fichier
introuvable)
c'est simplement , semble t-il car l'odre des fichiers
dans mon code était différent de l'ordre alphabetique ou
windows les classe dans le repertoire.
MERCI encore
à+
gilles
-----Message d'origine-----
bonjour gilles,
si tu travaille sur xl2000 et plus pour utiliser la
fonction InStrRev
ceci devrait être ok,
Sub macro1()
Set fs = Application.FileSearch
With fs
..LookIn = "C:zaza"
..Filename = "*.xls"
For i = 1 To .FoundFiles.Count
machaine = Right(.FoundFiles(i), InStrRev(.FoundFiles
(i), ""))
merci isabelle tu es décidément incollable ! je travaille sur xlxp mais les utilisateurs de cette macro sont en 97 ,2000,xp, donc...mais je vais tester ton code sinon j'ai trouvé pourquoi ça buggait (erreur 53 fichier introuvable) c'est simplement , semble t-il car l'odre des fichiers dans mon code était différent de l'ordre alphabetique ou windows les classe dans le repertoire. MERCI encore à+ gilles
-----Message d'origine----- bonjour gilles,
si tu travaille sur xl2000 et plus pour utiliser la fonction InStrRev
ceci devrait être ok,
Sub macro1() Set fs = Application.FileSearch With fs ..LookIn = "C:zaza" ..Filename = "*.xls" For i = 1 To .FoundFiles.Count machaine = Right(.FoundFiles(i), InStrRev(.FoundFiles (i), ""))