B
bellenger florian
Guest
Bonjour à tous, et à toi qui lit ce post,
J'ai un problème (si si) ou plutôt j'ai une égnime palpitante à relever:
la donnée de départ est un groupe de fichiers dans lesquels il y a des macros, distribuées dans des modules.
Comme un module peut-être importer et exporter, on peut le retrouver dans plusieurs fichiers.
la question est
Combien y a-t-il de modules différents dans tous ses fichiers, et comment créer un dossier où on les stock tous?
Une première solution théorique m'est déjà venu à l'esprit :
Soit le dossier M où on stock tous les modules en question.
Soit N, le nombre de modules différents
pour chaque fichier à examiner:
pour chaque module de ce fichier
pour chaque fichier de M (ancien modules exportés)
-comparer module et fichier de M. Si c'est le même, va voir le
module suivant. Sinon, aller voir fichier de M suivant.
-(On a pas trouvé module dans M): exporter module dans M et
N=N+1
fin pour
fin pour
fin pour
Bien sûr, si vous avez des idées différentes, elles m'intéressent.
Pour ce qui est de mettre en pratique l'idée précédente, j'ai (je pense avoir) déjà trouvé un moyen d'exporter tous les modules d'un fichier dans un dossier.
Par exemple, pour exporter tous les modules du classeur actif
Sub export()
Dim l As Object
Dim i As Integer
Dim s As String
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
Set l = ActiveWorkbook.VBProject.VBComponents(i)
If l.Type = 1 Or l.Type = 2 Then
s = "C:\Documents and Settings\bellengerf\Desktop\Macros\" & l.Name & ".doc"
l.export (s)
End If
Next
End Sub
Mais le problème qui me (échec et) mate pour l'instant, c'est comment déterminer si deux fichiers sont identiques ou différents.
L'un de vous sera-t-il plus fort que l'adversité qui m'accable?
popop eircem vladaboum houpla (<- comme je commence à avoir du mal à varier la fin de mes posts, j'essaye d'inventer de nouveaux mots pour dire merci.)
Florian
ps: 1) un moyen de corser le problème: deux fichiers peuvent avoir deux
modules de nom différents, mais qui contiennent le même code.
Comment résoudre le problème précédent sans considérer que les deux modules précédents sont différents?
2) je sais que ce post est un peu long, mais je voulais vous donner le maximum d'informations.
J'ai un problème (si si) ou plutôt j'ai une égnime palpitante à relever:
la donnée de départ est un groupe de fichiers dans lesquels il y a des macros, distribuées dans des modules.
Comme un module peut-être importer et exporter, on peut le retrouver dans plusieurs fichiers.
la question est
Combien y a-t-il de modules différents dans tous ses fichiers, et comment créer un dossier où on les stock tous?
Une première solution théorique m'est déjà venu à l'esprit :
Soit le dossier M où on stock tous les modules en question.
Soit N, le nombre de modules différents
pour chaque fichier à examiner:
pour chaque module de ce fichier
pour chaque fichier de M (ancien modules exportés)
-comparer module et fichier de M. Si c'est le même, va voir le
module suivant. Sinon, aller voir fichier de M suivant.
-(On a pas trouvé module dans M): exporter module dans M et
N=N+1
fin pour
fin pour
fin pour
Bien sûr, si vous avez des idées différentes, elles m'intéressent.
Pour ce qui est de mettre en pratique l'idée précédente, j'ai (je pense avoir) déjà trouvé un moyen d'exporter tous les modules d'un fichier dans un dossier.
Par exemple, pour exporter tous les modules du classeur actif
Sub export()
Dim l As Object
Dim i As Integer
Dim s As String
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
Set l = ActiveWorkbook.VBProject.VBComponents(i)
If l.Type = 1 Or l.Type = 2 Then
s = "C:\Documents and Settings\bellengerf\Desktop\Macros\" & l.Name & ".doc"
l.export (s)
End If
Next
End Sub
Mais le problème qui me (échec et) mate pour l'instant, c'est comment déterminer si deux fichiers sont identiques ou différents.
L'un de vous sera-t-il plus fort que l'adversité qui m'accable?
popop eircem vladaboum houpla (<- comme je commence à avoir du mal à varier la fin de mes posts, j'essaye d'inventer de nouveaux mots pour dire merci.)
Florian
ps: 1) un moyen de corser le problème: deux fichiers peuvent avoir deux
modules de nom différents, mais qui contiennent le même code.
Comment résoudre le problème précédent sans considérer que les deux modules précédents sont différents?
2) je sais que ce post est un peu long, mais je voulais vous donner le maximum d'informations.