Créer un document avec une macro VB
Résolu/Fermé
Jeanmi90
-
28 juil. 2011 à 09:15
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 29 juil. 2011 à 14:13
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 29 juil. 2011 à 14:13
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
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
- Créer un lien pour partager des photos - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
28 juil. 2011 à 09:28
28 juil. 2011 à 09:28
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!!!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
Modifié par pijaku le 28/07/2011 à 11:29
Modifié par pijaku le 28/07/2011 à 11:29
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
Modifié par pijaku le 28/07/2011 à 13:38
Modifié par pijaku le 28/07/2011 à 13:38
As tu coché la référence indiquée : cocher Référence : microsoft scripting runtime
Si non :
Depuis ta feuille Excel tape ALT+F11
puis Outils/Références
Cherche puis coche "Microsoft scripting runtime"
OK
Ferme la fenêtre Visual Basic, enregistre ton classeur et reteste...
Si non :
Depuis ta feuille Excel tape ALT+F11
puis Outils/Références
Cherche puis coche "Microsoft scripting runtime"
OK
Ferme la fenêtre Visual Basic, enregistre ton classeur et reteste...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
29 juil. 2011 à 14:13
29 juil. 2011 à 14:13
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...