Créer un document avec une macro VB
Résolu
Jeanmi90
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
J'aimerais, à partir d'un fichier Excel, une macro VB qui crée une copie d'un document type.docx dans un dossier existant. Puis à partir de mon fichier Excel, utiliser le contenu d'une cellule de mon classeur.xlsx pour renomer ma copie.docx et enfin définir un lien hypertexte avec la même cellule et ma copie renomée.
Merci à vous les "Cerveaux"...
J'aimerais, à partir d'un fichier Excel, une macro VB qui crée une copie d'un document type.docx dans un dossier existant. Puis à partir de mon fichier Excel, utiliser le contenu d'une cellule de mon classeur.xlsx pour renomer ma copie.docx et enfin définir un lien hypertexte avec la même cellule et ma copie renomée.
Merci à vous les "Cerveaux"...
A voir également:
- Créer un document avec une macro VB
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Comment reduire la taille d'un document - Guide
2 réponses
Bonjour,
Et avec ça, j'vous mets 5 kilos de patates?
Sérieusement, vous êtes vous déjà un peu penché sur votre problème? Ou en êtes vous? Vous avez au moins, si vous n'avez pas de connaissances VBA, créé votre classeur Excel?
vous dites
Et avec ça, j'vous mets 5 kilos de patates?
Sérieusement, vous êtes vous déjà un peu penché sur votre problème? Ou en êtes vous? Vous avez au moins, si vous n'avez pas de connaissances VBA, créé votre classeur Excel?
vous dites
Bonjour,
pour les patates j'ai une préférence pour la BF15!! elle est plus douce !!
je ne me suis pas attardé plus qu'une quarantaines d'heures...métier oblige!!!
je suis parvenu depuis mon classeur excel à créer mon document.docx !!
je sais évidement faire les lients hypertexte.
Mais!!! lorsque je tente d'ouvrir ma création j'ai un message que mon document ne peu s'ouvrir car il est certainement corrompu !!
Concrètement j'ai tester ceci pour créer un document portant le nom du contenu d'une cellule de mon classeur excel.
Sub créationFichierNom()
Nom=Cells(11,9)Value
Workbooks.openFilename:="C:\Users\Mesdocument\Fiche.docx"
ActiveWorkbook.saveAsFilename:="C:\Users\Mesdocument\"&Nom &".docx"_
,FileFormat;=x1Normal, Password:="",WriteResPassword:="",
ReadOnlyRecommendel:=False, CreateBackup:=False
ActiveWindow.Close
EbdSub
Mais cela ne marche pas!!!
pour les patates j'ai une préférence pour la BF15!! elle est plus douce !!
je ne me suis pas attardé plus qu'une quarantaines d'heures...métier oblige!!!
je suis parvenu depuis mon classeur excel à créer mon document.docx !!
je sais évidement faire les lients hypertexte.
Mais!!! lorsque je tente d'ouvrir ma création j'ai un message que mon document ne peu s'ouvrir car il est certainement corrompu !!
Concrètement j'ai tester ceci pour créer un document portant le nom du contenu d'une cellule de mon classeur excel.
Sub créationFichierNom()
Nom=Cells(11,9)Value
Workbooks.openFilename:="C:\Users\Mesdocument\Fiche.docx"
ActiveWorkbook.saveAsFilename:="C:\Users\Mesdocument\"&Nom &".docx"_
,FileFormat;=x1Normal, Password:="",WriteResPassword:="",
ReadOnlyRecommendel:=False, CreateBackup:=False
ActiveWindow.Close
EbdSub
Mais cela ne marche pas!!!
Salut,
Avant que tu ne partes en vacances, as tu modifié ce passage dans la macro :
Si tu n'as rien changé, forcément le code ne fera rien. Dans ce vieux code, il est question de .doc. Ben oui à l'époque .docx n'existait point...
Donc, si tu n'as pas modifié, remplace ces quelques lignes par :
Si tu ne l'avais pas fait, teste au moins ça et viens nous dire...
Avant que tu ne partes en vacances, as tu modifié ce passage dans la macro :
If UCase(Right(oFl.Name, 3)) = "DOC" Then ' pas déja traité If InStr(oFl.Name, right(str(valeur),len(str(valeur))-1)) <> 0 Then oFl.Name = Left(oFl.Name,len(oFl.name)-4) & "_" & right(str(valeur), len(str(valeur))-1) & ".doc"
Si tu n'as rien changé, forcément le code ne fera rien. Dans ce vieux code, il est question de .doc. Ben oui à l'époque .docx n'existait point...
Donc, si tu n'as pas modifié, remplace ces quelques lignes par :
If UCase(Right(oFl.Name, 4)) = "DOCX" Then ' pas déja traité If InStr(oFl.Name, right(str(valeur),len(str(valeur))-1)) <> 0 Then oFl.Name = Left(oFl.Name,len(oFl.name)-5) & "_" & right(str(valeur), len(str(valeur))-1) & ".docx"
Si tu ne l'avais pas fait, teste au moins ça et viens nous dire...