Débutant en VBA, j'en appelle une fois de plus à vos étincelantes lumières.
J'utilise une petite macro pour insérer tous les fichiers d'un répertoire
dans un même document (insertfile tout bête, avec variable pour le chemin du
répertoire). Le problème est que les fichiers insérés sont visiblement
traités dans l'ordre dans lequel ils ont été copiés dans ce répertoire.
Existe-t-il un moyen pour effectuer un tri des fichiers (alphabétique par
ex) avant de les traiter par le insertfile ?
Il me semble que tes fichiers sont insérés en fonction du classement de ton dossier. Cela dit, voici une solution qui se trouve dans la faq : http://faqword.free.fr/articles.php?lng=fr&pgq0 Regarde la deuxième macro qui permet de choisir l'ordre.
Circé http://faqword.free.fr
Thaliss wrote: || Bonjour à tous ! || || Débutant en VBA, j'en appelle une fois de plus à vos étincelantes || lumières. || || J'utilise une petite macro pour insérer tous les fichiers d'un || répertoire dans un même document (insertfile tout bête, avec || variable pour le chemin du répertoire). Le problème est que les || fichiers insérés sont visiblement traités dans l'ordre dans lequel || ils ont été copiés dans ce répertoire. || || Existe-t-il un moyen pour effectuer un tri des fichiers || (alphabétique par ex) avant de les traiter par le insertfile ? || || Merci par avance. || -- || Thaliss
Bonjour,
Il me semble que tes fichiers sont insérés en fonction du classement de ton
dossier.
Cela dit, voici une solution qui se trouve dans la faq :
http://faqword.free.fr/articles.php?lng=fr&pgq0
Regarde la deuxième macro qui permet de choisir l'ordre.
Circé
http://faqword.free.fr
Thaliss wrote:
|| Bonjour à tous !
||
|| Débutant en VBA, j'en appelle une fois de plus à vos étincelantes
|| lumières.
||
|| J'utilise une petite macro pour insérer tous les fichiers d'un
|| répertoire dans un même document (insertfile tout bête, avec
|| variable pour le chemin du répertoire). Le problème est que les
|| fichiers insérés sont visiblement traités dans l'ordre dans lequel
|| ils ont été copiés dans ce répertoire.
||
|| Existe-t-il un moyen pour effectuer un tri des fichiers
|| (alphabétique par ex) avant de les traiter par le insertfile ?
||
|| Merci par avance.
|| --
|| Thaliss
Il me semble que tes fichiers sont insérés en fonction du classement de ton dossier. Cela dit, voici une solution qui se trouve dans la faq : http://faqword.free.fr/articles.php?lng=fr&pgq0 Regarde la deuxième macro qui permet de choisir l'ordre.
Circé http://faqword.free.fr
Thaliss wrote: || Bonjour à tous ! || || Débutant en VBA, j'en appelle une fois de plus à vos étincelantes || lumières. || || J'utilise une petite macro pour insérer tous les fichiers d'un || répertoire dans un même document (insertfile tout bête, avec || variable pour le chemin du répertoire). Le problème est que les || fichiers insérés sont visiblement traités dans l'ordre dans lequel || ils ont été copiés dans ce répertoire. || || Existe-t-il un moyen pour effectuer un tri des fichiers || (alphabétique par ex) avant de les traiter par le insertfile ? || || Merci par avance. || -- || Thaliss
Thaliss
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le Filepicker m'aurait bien intéressé...
Merci tout de même Circé ! -- Thaliss
"Circé" a écrit dans le message de news:
Bonjour,
Il me semble que tes fichiers sont insérés en fonction du classement de ton
dossier. Cela dit, voici une solution qui se trouve dans la faq : http://faqword.free.fr/articles.php?lng=fr&pgq0 Regarde la deuxième macro qui permet de choisir l'ordre.
Circé http://faqword.free.fr
Thaliss wrote: || Bonjour à tous ! || || Débutant en VBA, j'en appelle une fois de plus à vos étincelantes || lumières. || || J'utilise une petite macro pour insérer tous les fichiers d'un || répertoire dans un même document (insertfile tout bête, avec || variable pour le chemin du répertoire). Le problème est que les || fichiers insérés sont visiblement traités dans l'ordre dans lequel || ils ont été copiés dans ce répertoire. || || Existe-t-il un moyen pour effectuer un tri des fichiers || (alphabétique par ex) avant de les traiter par le insertfile ? || || Merci par avance. || -- || Thaliss
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le
Filepicker m'aurait bien intéressé...
Merci tout de même Circé !
--
Thaliss
"Circé" <circe@aea.gr> a écrit dans le message de news:
OrqU1rieEHA.3348@TK2MSFTNGP09.phx.gbl...
Bonjour,
Il me semble que tes fichiers sont insérés en fonction du classement de
ton
dossier.
Cela dit, voici une solution qui se trouve dans la faq :
http://faqword.free.fr/articles.php?lng=fr&pgq0
Regarde la deuxième macro qui permet de choisir l'ordre.
Circé
http://faqword.free.fr
Thaliss wrote:
|| Bonjour à tous !
||
|| Débutant en VBA, j'en appelle une fois de plus à vos étincelantes
|| lumières.
||
|| J'utilise une petite macro pour insérer tous les fichiers d'un
|| répertoire dans un même document (insertfile tout bête, avec
|| variable pour le chemin du répertoire). Le problème est que les
|| fichiers insérés sont visiblement traités dans l'ordre dans lequel
|| ils ont été copiés dans ce répertoire.
||
|| Existe-t-il un moyen pour effectuer un tri des fichiers
|| (alphabétique par ex) avant de les traiter par le insertfile ?
||
|| Merci par avance.
|| --
|| Thaliss
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le Filepicker m'aurait bien intéressé...
Merci tout de même Circé ! -- Thaliss
"Circé" a écrit dans le message de news:
Bonjour,
Il me semble que tes fichiers sont insérés en fonction du classement de ton
dossier. Cela dit, voici une solution qui se trouve dans la faq : http://faqword.free.fr/articles.php?lng=fr&pgq0 Regarde la deuxième macro qui permet de choisir l'ordre.
Circé http://faqword.free.fr
Thaliss wrote: || Bonjour à tous ! || || Débutant en VBA, j'en appelle une fois de plus à vos étincelantes || lumières. || || J'utilise une petite macro pour insérer tous les fichiers d'un || répertoire dans un même document (insertfile tout bête, avec || variable pour le chemin du répertoire). Le problème est que les || fichiers insérés sont visiblement traités dans l'ordre dans lequel || ils ont été copiés dans ce répertoire. || || Existe-t-il un moyen pour effectuer un tri des fichiers || (alphabétique par ex) avant de les traiter par le insertfile ? || || Merci par avance. || -- || Thaliss
Anacoluthe
Bonjour !
'Thaliss' nous a écrit ...
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le Filepicker m'aurait bien intéressé...
Vous ne dites pas comment vous récupérez vos fichiers ... En utilisant Dir() comme dans la macro à de la FAQ les fichiers viennent non classés : il vous faut alors les placer dans un tableau pour pouvoir les trier. Si vous utilisez FileSearch ou le FSO du VBscript ou la CommonDialog, l'ordre des fichiers sera celui d'une boîte de dialogue 'Ouvrir'
Anacoluthe « Deux dangers ne cessent de menacer le monde : l'ordre et le désordre. » - Paul VALÉRY
Bonjour !
'Thaliss' nous a écrit ...
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le
Filepicker m'aurait bien intéressé...
Vous ne dites pas comment vous récupérez vos fichiers ...
En utilisant Dir() comme dans la macro à m@rina de la FAQ
les fichiers viennent non classés : il vous faut alors les
placer dans un tableau pour pouvoir les trier.
Si vous utilisez FileSearch ou le FSO du VBscript ou
la CommonDialog, l'ordre des fichiers sera celui d'une
boîte de dialogue 'Ouvrir'
Anacoluthe
« Deux dangers ne cessent de menacer le monde :
l'ordre et le désordre. »
- Paul VALÉRY
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le Filepicker m'aurait bien intéressé...
Vous ne dites pas comment vous récupérez vos fichiers ... En utilisant Dir() comme dans la macro à de la FAQ les fichiers viennent non classés : il vous faut alors les placer dans un tableau pour pouvoir les trier. Si vous utilisez FileSearch ou le FSO du VBscript ou la CommonDialog, l'ordre des fichiers sera celui d'une boîte de dialogue 'Ouvrir'
Anacoluthe « Deux dangers ne cessent de menacer le monde : l'ordre et le désordre. » - Paul VALÉRY
Thaliss
C'est bien avec la commande Dir() que je récupère mes fichiers (j'ai effectivement pris pour base la macro de la FAQ).
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO, que je ne connais pas encore. Et je me permettrai de revenir vers vous si je suis perdu :-)
Merci comme toujours de votre concours. Continuez tous, vous faites un travail aussi sérieux qu'indispensable.
Cdt,
Thaliss
"Anacoluthe" a écrit dans le message de news: udey$
Bonjour !
'Thaliss' nous a écrit ...
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le Filepicker m'aurait bien intéressé...
Vous ne dites pas comment vous récupérez vos fichiers ... En utilisant Dir() comme dans la macro à de la FAQ les fichiers viennent non classés : il vous faut alors les placer dans un tableau pour pouvoir les trier. Si vous utilisez FileSearch ou le FSO du VBscript ou la CommonDialog, l'ordre des fichiers sera celui d'une boîte de dialogue 'Ouvrir'
Anacoluthe « Deux dangers ne cessent de menacer le monde : l'ordre et le désordre. » - Paul VALÉRY
C'est bien avec la commande Dir() que je récupère mes fichiers (j'ai
effectivement pris pour base la macro de la FAQ).
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO, que je
ne connais pas encore. Et je me permettrai de revenir vers vous si je suis
perdu :-)
Merci comme toujours de votre concours. Continuez tous, vous faites un
travail aussi sérieux qu'indispensable.
Cdt,
Thaliss
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> a écrit dans le message de news:
udey$2keEHA.1692@tk2msftngp13.phx.gbl...
Bonjour !
'Thaliss' nous a écrit ...
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le
Filepicker m'aurait bien intéressé...
Vous ne dites pas comment vous récupérez vos fichiers ...
En utilisant Dir() comme dans la macro à m@rina de la FAQ
les fichiers viennent non classés : il vous faut alors les
placer dans un tableau pour pouvoir les trier.
Si vous utilisez FileSearch ou le FSO du VBscript ou
la CommonDialog, l'ordre des fichiers sera celui d'une
boîte de dialogue 'Ouvrir'
Anacoluthe
« Deux dangers ne cessent de menacer le monde :
l'ordre et le désordre. »
- Paul VALÉRY
C'est bien avec la commande Dir() que je récupère mes fichiers (j'ai effectivement pris pour base la macro de la FAQ).
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO, que je ne connais pas encore. Et je me permettrai de revenir vers vous si je suis perdu :-)
Merci comme toujours de votre concours. Continuez tous, vous faites un travail aussi sérieux qu'indispensable.
Cdt,
Thaliss
"Anacoluthe" a écrit dans le message de news: udey$
Bonjour !
'Thaliss' nous a écrit ...
Aïe malheureusement je n'ai qu'une version 2000 de Word... Dommage le Filepicker m'aurait bien intéressé...
Vous ne dites pas comment vous récupérez vos fichiers ... En utilisant Dir() comme dans la macro à de la FAQ les fichiers viennent non classés : il vous faut alors les placer dans un tableau pour pouvoir les trier. Si vous utilisez FileSearch ou le FSO du VBscript ou la CommonDialog, l'ordre des fichiers sera celui d'une boîte de dialogue 'Ouvrir'
Anacoluthe « Deux dangers ne cessent de menacer le monde : l'ordre et le désordre. » - Paul VALÉRY
Geo
Bonjour Thaliss
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO,
que je ne connais pas encore.
Tu as un exemple de FSo que tu trouveras grâce au moteur de recherche dans la faq, mais il me semble qu'il y en a un autre dans les macros à télécharger.
--
A+
Bonjour Thaliss
Je vais donc sur vos conseils me renseigner sur FileSearch ou le
FSO,
que je ne connais pas encore.
Tu as un exemple de FSo que tu trouveras grâce au moteur de recherche
dans la faq, mais il me semble qu'il y en a un autre dans les macros
à télécharger.
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO,
que je ne connais pas encore.
Tu as un exemple de FSo que tu trouveras grâce au moteur de recherche dans la faq, mais il me semble qu'il y en a un autre dans les macros à télécharger.
--
A+
Thaliss
J'ai regardé effectivement il y a un ex dans la FAQ, mais comme je débute en vba je vais passer un peu de temps à comprendre et voir comment intégrer ça dans ma macro... Mais c'est ça qui est attrayant aussi !
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans un tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum :-))
-- Thaliss
"Geo" a écrit dans le message de news: #
Bonjour Thaliss
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO,
que je ne connais pas encore.
Tu as un exemple de FSo que tu trouveras grâce au moteur de recherche dans la faq, mais il me semble qu'il y en a un autre dans les macros à télécharger.
--
A+
J'ai regardé effectivement il y a un ex dans la FAQ, mais comme je débute en
vba je vais passer un peu de temps à comprendre et voir comment intégrer ça
dans ma macro... Mais c'est ça qui est attrayant aussi !
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans un
tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me
donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum :-))
--
Thaliss
"Geo" <Geo@sans.pub> a écrit dans le message de news:
#c9WdxxeEHA.2468@TK2MSFTNGP12.phx.gbl...
Bonjour Thaliss
Je vais donc sur vos conseils me renseigner sur FileSearch ou le
FSO,
que je ne connais pas encore.
Tu as un exemple de FSo que tu trouveras grâce au moteur de recherche
dans la faq, mais il me semble qu'il y en a un autre dans les macros
à télécharger.
J'ai regardé effectivement il y a un ex dans la FAQ, mais comme je débute en vba je vais passer un peu de temps à comprendre et voir comment intégrer ça dans ma macro... Mais c'est ça qui est attrayant aussi !
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans un tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum :-))
-- Thaliss
"Geo" a écrit dans le message de news: #
Bonjour Thaliss
Je vais donc sur vos conseils me renseigner sur FileSearch ou le FSO,
que je ne connais pas encore.
Tu as un exemple de FSo que tu trouveras grâce au moteur de recherche dans la faq, mais il me semble qu'il y en a un autre dans les macros à télécharger.
--
A+
Geo
Bonjour Thaliss
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans
un tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum
Comment résister ? ;-)
voici donc la piste Pour définir un tableau de 50 places en vba :
Dim T(50) as string les indices allant de 0 à 49, si on veut partir de 1 mettre : Option Base 1 en tête du module. Pour mettre une valeur dans la i-ème position du tableau : t(i) = "texte à mettre" ou t(i) = maVariableEnString
Pour trier, le plus simple est d'employer une antiquité : WordBasic.SortArray T Sinon tu trouveras dans la faq des méthodes de tri.
--
A+
Bonjour Thaliss
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met
dans
un tableau, mais pour l'instant je ne vois pas comment... Si qq'1
pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum
Comment résister ? ;-)
voici donc la piste
Pour définir un tableau de 50 places en vba :
Dim T(50) as string
les indices allant de 0 à 49,
si on veut partir de 1 mettre :
Option Base 1
en tête du module.
Pour mettre une valeur dans la i-ème position du tableau :
t(i) = "texte à mettre"
ou t(i) = maVariableEnString
Pour trier, le plus simple est d'employer une antiquité :
WordBasic.SortArray T
Sinon tu trouveras dans la faq des méthodes de tri.
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans
un tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum
Comment résister ? ;-)
voici donc la piste Pour définir un tableau de 50 places en vba :
Dim T(50) as string les indices allant de 0 à 49, si on veut partir de 1 mettre : Option Base 1 en tête du module. Pour mettre une valeur dans la i-ème position du tableau : t(i) = "texte à mettre" ou t(i) = maVariableEnString
Pour trier, le plus simple est d'employer une antiquité : WordBasic.SortArray T Sinon tu trouveras dans la faq des méthodes de tri.
--
A+
Thaliss
Merci Geo pour ta réponse. Je sens que je progresse, doucement, doucement...
La difficulté est que le tableau doit servir à classer (par ordre alphabétique) les noms de fichiers récupérés dans un dossier par un Dir. Je n'arrive pas à faire je pense le lien entre le Dir et un tableau, puis classer ce tableau, je n'arrive pas à emboîter les choses correctement (je reçois tjs des erreurs).
Voici en fait ma macro (qui est un assemblage de choses que j'ai récupérées surtout chez vous :-))
Sub creation_manuel
'Déclaration variable chemin Dim Chemin As String Chemin = InputBox("Indiquez le chemin complet du dossier dans lequel se trouvent les documents à traiter (ex : les sous-documents d'un manuel)", "Macro de concaténation de fichiers .doc", "Tapez ici le chemin", 5000, 5000) If Chemin = "" Then Exit Sub
'Comptage des fichiers et vérification que ce sont des .doc Set fs = Application.FileSearch With fs .LookIn = Chemin .FileName = "*.doc" If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then MsgBox "Vont être traités " & .FoundFiles.Count & _ " fichiers." Else MsgBox "Aucun fichier Word n'a été trouvé dans le dossier." End If End With
'Insertion des fichiers ChDir Chemin myname = Dir("*.*") While myname <> "" With Selection .InsertFile FileName:=myname, ConfirmConversions:úlse .InsertParagraphAfter .InsertBreak Type:=wdSectionBreakOddPage .Collapse Direction:=wdCollapseEnd End With myname = Dir() Wend End Sub
Voilà... Je pense que je vais finir par m'acheter un bon bouquin pour comprendre mieux ce que je fais au lieu de faire l'apprenti sorcier :-))
En fait voilà une autre question : je débute en vba et pour cela je regarde principalement les forums et l'aide visual basic, ensuite je teste en modifiant des éléments dans les macro que je récupère, je bidouille... J'ai l'impression d'apprendre des choses, mais est-ce que vous pensez qu'on peut aller loin comme cela ou qu'il faut à un moment donné passer à autre chose (bouquins notamment) ?
Merci en tout cas comme toujours. -- Thaliss
"Geo" a écrit dans le message de news:
Bonjour Thaliss
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans
un tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum
Comment résister ? ;-)
voici donc la piste Pour définir un tableau de 50 places en vba :
Dim T(50) as string les indices allant de 0 à 49, si on veut partir de 1 mettre : Option Base 1 en tête du module. Pour mettre une valeur dans la i-ème position du tableau : t(i) = "texte à mettre" ou t(i) = maVariableEnString
Pour trier, le plus simple est d'employer une antiquité : WordBasic.SortArray T Sinon tu trouveras dans la faq des méthodes de tri.
--
A+
Merci Geo pour ta réponse. Je sens que je progresse, doucement, doucement...
La difficulté est que le tableau doit servir à classer (par ordre
alphabétique) les noms de fichiers récupérés dans un dossier par un Dir. Je
n'arrive pas à faire je pense le lien entre le Dir et un tableau, puis
classer ce tableau, je n'arrive pas à emboîter les choses correctement (je
reçois tjs des erreurs).
Voici en fait ma macro (qui est un assemblage de choses que j'ai récupérées
surtout chez vous :-))
Sub creation_manuel
'Déclaration variable chemin
Dim Chemin As String
Chemin = InputBox("Indiquez le chemin complet du dossier dans lequel se
trouvent les documents à traiter (ex : les sous-documents d'un manuel)",
"Macro de concaténation de fichiers .doc", "Tapez ici le chemin", 5000,
5000)
If Chemin = "" Then Exit Sub
'Comptage des fichiers et vérification que ce sont des .doc
Set fs = Application.FileSearch
With fs
.LookIn = Chemin
.FileName = "*.doc"
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox "Vont être traités " & .FoundFiles.Count & _
" fichiers."
Else
MsgBox "Aucun fichier Word n'a été trouvé dans le dossier."
End If
End With
'Insertion des fichiers
ChDir Chemin
myname = Dir("*.*")
While myname <> ""
With Selection
.InsertFile FileName:=myname, ConfirmConversions:úlse
.InsertParagraphAfter
.InsertBreak Type:=wdSectionBreakOddPage
.Collapse Direction:=wdCollapseEnd
End With
myname = Dir()
Wend
End Sub
Voilà... Je pense que je vais finir par m'acheter un bon bouquin pour
comprendre mieux ce que je fais au lieu de faire l'apprenti sorcier :-))
En fait voilà une autre question : je débute en vba et pour cela je regarde
principalement les forums et l'aide visual basic, ensuite je teste en
modifiant des éléments dans les macro que je récupère, je bidouille... J'ai
l'impression d'apprendre des choses, mais est-ce que vous pensez qu'on peut
aller loin comme cela ou qu'il faut à un moment donné passer à autre chose
(bouquins notamment) ?
Merci en tout cas comme toujours.
--
Thaliss
"Geo" <Geo@sans.pub> a écrit dans le message de news:
e4OUFN5eEHA.384@TK2MSFTNGP10.phx.gbl...
Bonjour Thaliss
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met
dans
un tableau, mais pour l'instant je ne vois pas comment... Si qq'1
pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum
Comment résister ? ;-)
voici donc la piste
Pour définir un tableau de 50 places en vba :
Dim T(50) as string
les indices allant de 0 à 49,
si on veut partir de 1 mettre :
Option Base 1
en tête du module.
Pour mettre une valeur dans la i-ème position du tableau :
t(i) = "texte à mettre"
ou t(i) = maVariableEnString
Pour trier, le plus simple est d'employer une antiquité :
WordBasic.SortArray T
Sinon tu trouveras dans la faq des méthodes de tri.
Merci Geo pour ta réponse. Je sens que je progresse, doucement, doucement...
La difficulté est que le tableau doit servir à classer (par ordre alphabétique) les noms de fichiers récupérés dans un dossier par un Dir. Je n'arrive pas à faire je pense le lien entre le Dir et un tableau, puis classer ce tableau, je n'arrive pas à emboîter les choses correctement (je reçois tjs des erreurs).
Voici en fait ma macro (qui est un assemblage de choses que j'ai récupérées surtout chez vous :-))
Sub creation_manuel
'Déclaration variable chemin Dim Chemin As String Chemin = InputBox("Indiquez le chemin complet du dossier dans lequel se trouvent les documents à traiter (ex : les sous-documents d'un manuel)", "Macro de concaténation de fichiers .doc", "Tapez ici le chemin", 5000, 5000) If Chemin = "" Then Exit Sub
'Comptage des fichiers et vérification que ce sont des .doc Set fs = Application.FileSearch With fs .LookIn = Chemin .FileName = "*.doc" If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then MsgBox "Vont être traités " & .FoundFiles.Count & _ " fichiers." Else MsgBox "Aucun fichier Word n'a été trouvé dans le dossier." End If End With
'Insertion des fichiers ChDir Chemin myname = Dir("*.*") While myname <> "" With Selection .InsertFile FileName:=myname, ConfirmConversions:úlse .InsertParagraphAfter .InsertBreak Type:=wdSectionBreakOddPage .Collapse Direction:=wdCollapseEnd End With myname = Dir() Wend End Sub
Voilà... Je pense que je vais finir par m'acheter un bon bouquin pour comprendre mieux ce que je fais au lieu de faire l'apprenti sorcier :-))
En fait voilà une autre question : je débute en vba et pour cela je regarde principalement les forums et l'aide visual basic, ensuite je teste en modifiant des éléments dans les macro que je récupère, je bidouille... J'ai l'impression d'apprendre des choses, mais est-ce que vous pensez qu'on peut aller loin comme cela ou qu'il faut à un moment donné passer à autre chose (bouquins notamment) ?
Merci en tout cas comme toujours. -- Thaliss
"Geo" a écrit dans le message de news:
Bonjour Thaliss
Sinon Anacoluthe me disait que l'on peut classer ce que l'on met dans
un tableau, mais pour l'instant je ne vois pas comment... Si qq'1 pouvait me donner une piste...
Merci Geo pour ta réponse. Plus je vous lis et plus j'aime ce forum
Comment résister ? ;-)
voici donc la piste Pour définir un tableau de 50 places en vba :
Dim T(50) as string les indices allant de 0 à 49, si on veut partir de 1 mettre : Option Base 1 en tête du module. Pour mettre une valeur dans la i-ème position du tableau : t(i) = "texte à mettre" ou t(i) = maVariableEnString
Pour trier, le plus simple est d'employer une antiquité : WordBasic.SortArray T Sinon tu trouveras dans la faq des méthodes de tri.
--
A+
Anacoluthe
Bonjour !
'Thaliss' nous a écrit ...
En fait voilà une autre question : je débute en vba et pour cela je regarde principalement les forums et l'aide visual basic, ensuite je teste en modifiant des éléments dans les macro que je récupère, je bidouille... J'ai l'impression d'apprendre des choses, mais est-ce que vous pensez qu'on peut aller loin comme cela ou qu'il faut à un moment donné passer à autre chose (bouquins notamment) ?
Je pense qu'on peut se passer de bouquin. L'essentiel pour vba est dans l'Aide, l'explorateur d'objets, l'étude du code donné par l'enregistreur, et la pratique .... Ajoute à ça ce qu'on peut trouver sur la Toile en particulier pour Excel (qui comprend bien le vba pour XL maîtrise facilement celui de Word 'object-alement' plus simple).
Reste qu'un bon bouquin sur la plage, ça peut avoir son charme .... Bonnes lectures !
Anacoluthe « Quand je pense aux livres de chevet de certains de mes amis, je me demande comment ils font pour se réveiller. » - Marcel ACHARD
Bonjour !
'Thaliss' nous a écrit ...
En fait voilà une autre question : je débute en vba et pour cela je regarde
principalement les forums et l'aide visual basic, ensuite je teste en
modifiant des éléments dans les macro que je récupère, je bidouille... J'ai
l'impression d'apprendre des choses, mais est-ce que vous pensez qu'on peut
aller loin comme cela ou qu'il faut à un moment donné passer à autre chose
(bouquins notamment) ?
Je pense qu'on peut se passer de bouquin. L'essentiel pour vba
est dans l'Aide, l'explorateur d'objets, l'étude du code
donné par l'enregistreur, et la pratique .... Ajoute à ça
ce qu'on peut trouver sur la Toile en particulier pour Excel
(qui comprend bien le vba pour XL maîtrise facilement
celui de Word 'object-alement' plus simple).
Reste qu'un bon bouquin sur la plage, ça peut avoir son charme ....
Bonnes lectures !
Anacoluthe
« Quand je pense aux livres de chevet de certains de mes amis,
je me demande comment ils font pour se réveiller. »
- Marcel ACHARD
En fait voilà une autre question : je débute en vba et pour cela je regarde principalement les forums et l'aide visual basic, ensuite je teste en modifiant des éléments dans les macro que je récupère, je bidouille... J'ai l'impression d'apprendre des choses, mais est-ce que vous pensez qu'on peut aller loin comme cela ou qu'il faut à un moment donné passer à autre chose (bouquins notamment) ?
Je pense qu'on peut se passer de bouquin. L'essentiel pour vba est dans l'Aide, l'explorateur d'objets, l'étude du code donné par l'enregistreur, et la pratique .... Ajoute à ça ce qu'on peut trouver sur la Toile en particulier pour Excel (qui comprend bien le vba pour XL maîtrise facilement celui de Word 'object-alement' plus simple).
Reste qu'un bon bouquin sur la plage, ça peut avoir son charme .... Bonnes lectures !
Anacoluthe « Quand je pense aux livres de chevet de certains de mes amis, je me demande comment ils font pour se réveiller. » - Marcel ACHARD
Circé
Hello !
Je pense qu'on peut se passer de bouquin.
Ah ouais, c'est comme ça ?.... Et comment ils vivent les pauvres auteurs ?.... Ah la la !!!! Pauvre de nous !!!! ;-)))))))))
Circé Auteuse
Hello !
Je pense qu'on peut se passer de bouquin.
Ah ouais, c'est comme ça ?.... Et comment ils vivent les pauvres auteurs
?.... Ah la la !!!! Pauvre de nous !!!! ;-)))))))))