Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1055 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  besoin d'aide vba

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

besoin d'aide vba

n°1362030
kakashi75
Posté le 08-05-2006 à 22:04:07  profilanswer
 

bonjour a tous!!!
 
je souhaiterai savoir comment créer une routine pour faire la comparaison des fichiers entre plusieurs répertoires.
Si quelqu'un pourrait m'aider ça sera la bienvenu  :)  
merci

mood
Publicité
Posté le 08-05-2006 à 22:04:07  profilanswer
 

n°1362283
kiki29
Posté le 09-05-2006 à 12:39:08  profilanswer
 

La comparaison se faisant: sur les noms, les dates de création,les dates de modification, le contenu , le n° de version etc ?


Message édité par kiki29 le 09-05-2006 à 12:44:08
n°1362763
kakashi75
Posté le 09-05-2006 à 20:15:33  profilanswer
 

La comparaison se fesant sur le nom des fichiers

n°1362767
kakashi75
Posté le 09-05-2006 à 20:20:29  profilanswer
 

Pour exactement, ainsi voir les noms de fichiers n'etant pas identique et les afficher.

n°1363179
kiki29
Posté le 10-05-2006 à 12:33:51  profilanswer
 

un bout de code pour afficher dans une feuille Excel tous les fichiers inclus dans un dossier, ici C:\Transfert
En lançant la macro TestCreationListeFichiers
 
Dans environnement VBA ne pas oublier si nécessaire
de cocher Microsoft Office xx.x Object Library dans Outils/Références
sinon msg d'erreur Variable non définie ( msoFileTypeAllFiles )
 


Option Explicit
 
Function CreationListeFichiers(FiltreFichier As String, InclureSousDossier As Boolean) As Variant
Dim ListeFichiers() As String, NbFichiers As Long
    CreationListeFichiers = ""
    Erase ListeFichiers
    If FiltreFichier = "" Then FiltreFichier = "*.*"  
    With Application.FileSearch
        .NewSearch
        .LookIn = CurDir
        .Filename = FiltreFichier
        .SearchSubFolders = InclureSousDossier
        .FileType = msoFileTypeAllFiles
        If .Execute(SortBy:=msoSortByFileName, _
            SortOrder:=msoSortOrderAscending) = 0 Then Exit Function
        ReDim ListeFichiers(.FoundFiles.Count)
        For NbFichiers = 1 To .FoundFiles.Count
            ListeFichiers(NbFichiers) = .FoundFiles(NbFichiers)
        Next NbFichiers
        .FileType = msoFileTypeExcelWorkbooks
    End With
    CreationListeFichiers = ListeFichiers
    Erase ListeFichiers
End Function
 
Sub TestCreationListeFichiers()
Dim ListeNomsFichiers As Variant, i As Integer
    ' Dossier de test
    ChDir "C:\Transfert"
    ListeNomsFichiers = CreationListeFichiers("*.*", False)
    Range("A:A" ).ClearContents
    For i = 1 To UBound(ListeNomsFichiers)
        Cells(i + 1, 1).Formula = ListeNomsFichiers(i)
    Next i
End Sub

Message cité 1 fois
Message édité par kiki29 le 18-11-2006 à 22:24:10
n°1363404
kiki29
Posté le 10-05-2006 à 15:13:49  profilanswer
 

Si par hasard tu veux connaitre les infos de taille,type,date de creation,de modif et de dernier acces


Option Explicit
 
'   Dans environnement VBA
'   Outils/Références cocher Microsoft Scripting Runtime
 
Sub Test2ListeFichiersDansDossier()
    Application.ScreenUpdating = False
    Cells.Clear
    With Range("A1" )
        .Formula = "Contenu:"
        .Font.Bold = True
        .Font.Size = 12
    End With
    Range("A3" ).Formula = "Nom:"
    Range("B3" ).Formula = "Taille:"
    Range("C3" ).Formula = "Type:"
    Range("D3" ).Formula = "Date Création:"
    Range("E3" ).Formula = "Date Dernier Accès:"
    Range("F3" ).Formula = "Date Dernière Modif:"
    Range("A3:F3" ).Font.Bold = True
    Range("A2" ).Select
    Liste2FichiersDansDossier "C:\Transfert\", True
    Application.ScreenUpdating = true
End Sub
 
Sub Liste2FichiersDansDossier(NomDossierSource As String, InclureSousDossiers As Boolean)
Dim FSO As Scripting.FileSystemObject
Dim DossierSource As Scripting.Folder, SousDossier As Scripting.Folder
Dim Fichier As Scripting.File
Dim r As Long
    Set FSO = New Scripting.FileSystemObject
    Set DossierSource = FSO.GetFolder(NomDossierSource)
    r = Range("A65536" ).End(xlUp).Row + 1
    For Each Fichier In DossierSource.Files
        Cells(r, 1).Formula = Fichier.Path  
        Cells(r, 2).Formula = Fichier.Size
        Cells(r, 3).Formula = Fichier.Type
        Cells(r, 4).Formula = Fichier.DateCreated
        Cells(r, 5).Formula = Fichier.DateLastAccessed
        Cells(r, 6).Formula = Fichier.DateLastModified
        r = r + 1
    Next Fichier
    If InclureSousDossiers Then
        For Each SousDossier In DossierSource.SubFolders
            Liste2FichiersDansDossier SousDossier.Path, True
        Next SousDossier
    End If
    Columns("A:F" ).AutoFit
    Set Fichier = Nothing
    Set DossierSource = Nothing
    Set FSO = Nothing
End Sub


Message édité par kiki29 le 18-11-2006 à 22:24:39
n°1363410
kiki29
Posté le 10-05-2006 à 15:17:21  profilanswer
 

Pour ce qui est de la copie ,déplacement,effacement de fichiers
il faut utiliser des instructions du genre
 
Fichier.Copy "c:\Essais\" & Fichier.Name, True
Fichier.Move "c:\Essais\" & Fichier.Name
Fichier.Delete True


Message édité par kiki29 le 10-05-2006 à 15:31:16
n°1363762
kakashi75
Posté le 10-05-2006 à 20:01:18  profilanswer
 

Merci a toi kiki29  
C'est très sympa de ta part, je vais enfin pouvoir tester ça et comprendre comment ça marche.  
Je te dirai si ça a bien fonctionné.
allez salut et merci encore!!
 

n°1363886
kakashi75
Posté le 10-05-2006 à 23:55:53  profilanswer
 

kiki29 a écrit :

un bout de code pour afficher dans une feuille Excel tous les fichiers inclus dans un dossier, ici C:\Transfert
En lançant la macro TestCreationListeFichiers
 
Dans environnement VBA ne pas oublier si nécessaire
de cocher Microsoft Office xx.x Object Library dans Outils/Références
sinon msg d'erreur Variable non définie ( msoFileTypeAllFiles )
 
 
Option Explicit
 
Function CreationListeFichiers(FiltreFichier As String, InclureSousDossier As Boolean) As Variant
Dim ListeFichiers() As String, NbFichiers As Long
    CreationListeFichiers = ""
    Erase ListeFichiers
    If FiltreFichier = "" Then FiltreFichier = "*.*"  
    With Application.FileSearch
        .NewSearch
        .LookIn = CurDir
        .Filename = FiltreFichier
        .SearchSubFolders = InclureSousDossier
        .FileType = msoFileTypeAllFiles
        If .Execute(SortBy:=msoSortByFileName, _
            SortOrder:=msoSortOrderAscending) = 0 Then Exit Function
        ReDim ListeFichiers(.FoundFiles.Count)
        For NbFichiers = 1 To .FoundFiles.Count
            ListeFichiers(NbFichiers) = .FoundFiles(NbFichiers)
        Next NbFichiers
        .FileType = msoFileTypeExcelWorkbooks
    End With
    CreationListeFichiers = ListeFichiers
    Erase ListeFichiers
End Function
 
Sub TestCreationListeFichiers()
Dim ListeNomsFichiers As Variant, i As Integer
    ' Dossier de test
    ChDir "C:\Transfert"
    ListeNomsFichiers = CreationListeFichiers("*.*", False)
    Range("A:A" ).ClearContents
    For i = 1 To UBound(ListeNomsFichiers)
        Cells(i + 1, 1).Formula = ListeNomsFichiers(i)
    Next i
End Sub


 
 
Re moi,  
 
J'ai donc repris ton bout de  programme, pour faire afficher les noms des fichiers par colonne pour chaque dossier.
Cependant est t'il normal qu'il m'affiche dans Excel : le lien du fichier plutot que le nom du fichier? Si oui, quelle parametre dois je changer pour obtenir seulement le nom du fichiers.
 
Ensuite je souhaiterai savoir comment effectuer une comparaison de ces noms entre chaque dossier.
 
j'ai donc pensé à :
 
Comparer si la cellule A1 est identique à B(1,2,....) en fesant une boucle (si pas identique, afficher par exemple dans la colonne C le nom du fichier)
puis si la cellule A2 est identique à B(1,2,..)
et ainsi de suite.
 
Aurais tu un bout de code comme exemple reprenant le principe de ce genre de comparaison?
 
Merci beaucoup de tes réponses  :hello:  
 
 
 
 
 
 
 
 

n°1363938
kiki29
Posté le 11-05-2006 à 08:21:16  profilanswer
 

Utilise le 2eme extrait de code et remplace


Cells(r, 1).Formula = Fichier.Path  par Cells(r, 1).Formula = Fichier.Name


Sinon pour le 1er extrait tu tombes à priori sur des formules du genre
 
soit sur Excel pour filtrer le chemin retourné en utilisant la formule


=STXT(A2;TROUVE("*";SUBSTITUE(A2;"\";"*";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";"" ))))+1;NBCAR(A2))


 
soit en remplaçant Cells(i + 1, 1).Formula = ListeNomsFichiers(i)  
        par l'equivalent de la formule Excel çi-dessus en VBA


        Cells(i + 1, 1).Formula = Mid(ListeNomsFichiers(i), Application.Find("*", Application.Substitute(ListeNomsFichiers(i), "\", "*", Len(ListeNomsFichiers(i)) - Len(Application.Substitute(ListeNomsFichiers(i), "\", "" )))) + 1, Len(ListeNomsFichiers(i)))


 
Pour la comparaison entre 2 colonnes essaie :


Sub Comparaison2Col()
Dim colA As Range, colB As Range
Dim r As Long, c As Variant
 
    Set colA = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
    Set colB = Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp))
     
    r = 1
    For Each c In colB
        If Application.CountIf(colA, c.Value) = 0 Then
            Cells(r, 3).Value = c.Value
            r = r + 1
        End If
    Next
End Sub

Message cité 1 fois
Message édité par kiki29 le 18-11-2006 à 22:25:59
mood
Publicité
Posté le 11-05-2006 à 08:21:16  profilanswer
 

n°1364578
kakashi75
Posté le 11-05-2006 à 19:12:29  profilanswer
 

ok je vais essayé tout ça.
en tout cas merci pour ton aide, ça m'aide beaucoup.

n°1365407
kakashi75
Posté le 12-05-2006 à 19:00:37  profilanswer
 

kiki29 a écrit :

Utilise le 2eme extrait de code et remplace
Cells(r, 1).Formula = Fichier.Path  par Cells(r, 1).Formula = Fichier.Name
 
Sinon pour le 1er extrait tu tombes à priori sur des formules du genre
 
soit sur Excel pour filtrer le chemin retourné en utilisant la formule
=STXT(A2;TROUVE("*";SUBSTITUE(A2;"\";"*";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";"" ))))+1;NBCAR(A2))
 
soit en remplaçant Cells(i + 1, 1).Formula = ListeNomsFichiers(i)  
        par l'equivalent de la formule Excel çi-dessus en VBA
 
        Cells(i + 1, 1).Formula = Mid(ListeNomsFichiers(i), Application.Find("*", Application.Substitute(ListeNomsFichiers(i), "\", "*", Len(ListeNomsFichiers(i)) - Len(Application.Substitute(ListeNomsFichiers(i), "\", "" )))) + 1, Len(ListeNomsFichiers(i)))
 
 
Pour la comparaison entre 2 colonnes essaie :
 
Sub Comparaison2Col()
Dim colA As Range, colB As Range
Dim r As Long, c As Variant
 
    Set colA = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
    Set colB = Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp))
     
    r = 1
    For Each c In colB
        If Application.CountIf(colA, c.Value) = 0 Then
            Cells(r, 3).Value = c.Value
            r = r + 1
        End If
    Next
End Sub


 
 
 
tes codes marche très bien  :jap:  
je voulais juste savoir si on peut avoir le nom du fichier sans son extention? car là il me recupere genre (100285.part)
De plus est ce normal qu' il reussi a trouver les dossiers seulement que dans un seul disque? (genre seulement le F:\ et pas le N:\ par exemple)
Enfin as tu des connaissances en vbs?
Merci et bon week end  :hello:  

n°1365410
kiki29
Posté le 12-05-2006 à 19:04:45  profilanswer
 

Je pense que tu parles de filtrage de fichiers selon leur extension :
 
Function CreationListeFichiers(FiltreFichier As String, InclureSousDossier As Boolean) As Variant
 
FiltreFichier ?  dans CreationListeFichiers("*.xls", False) par exemple
 
    ' Dossier de test  
    ChDir "C:\Transfert"  
 
A priori si tu changes C:\..\.. par autre chose  , à toi d'adapter le code en conséquence si tu veux examiner en cascade des disques durs différents
 
Pour VBS voir le site http://www.bellamyjc.org/fr/vbscript.html

Message cité 1 fois
Message édité par kiki29 le 13-05-2006 à 22:10:09
n°1365896
kakashi75
Posté le 14-05-2006 à 15:07:57  profilanswer
 

kiki29 a écrit :

Je pense que tu parles de filtrage de fichiers selon leur extension :
 
Function CreationListeFichiers(FiltreFichier As String, InclureSousDossier As Boolean) As Variant
 
FiltreFichier ?  dans CreationListeFichiers("*.xls", False) par exemple
 
    ' Dossier de test  
    ChDir "C:\Transfert"  
 
A priori si tu changes C:\..\.. par autre chose  , à toi d'adapter le code en conséquence si tu veux examiner en cascade des disques durs différents
 
Pour VBS voir le site http://www.bellamyjc.org/fr/vbscript.html


n°1365898
kakashi75
Posté le 14-05-2006 à 15:15:27  profilanswer
 

Non enfaite pour le filtrage de fichiers je veux tout simplement juste faire apparaitre le nom du fichiers sans son extention:
là il m'affiche sur excel par exemple Nom_fichier.part et moi je veux juste Nom_fichier
J'ai essayé plein de solution mais je n'arrive pas.

n°1365925
kiki29
Posté le 14-05-2006 à 16:43:59  profilanswer
 

Cela n'a à priori rien de gênant, d'une longue pratique héritée du Dos j'ai toujours préféré voir l'extension à la suite du nom de fichier et cela même sur MacIntosh et cette pratique m'a donné raison.  
Dans la liste des fichiers sur ta feuille Excel si par hasard on a FiltreFichier = "*.*"  rien ne va discerner un executable d'un fichier Excel, Word ou Acrobat ou eDonkey ?
 
Enfin moi c'est par expérience mais si tu veux tenter tu rajoutes en dessous de la ligne  
qui te formate le nom de fichier qqch comme :
Cells(i + 1, 1).Formula = Left(Cells(i + 1, 1), Application.Find(".", Cells(i + 1, 1), 1) - 1)

Message cité 1 fois
Message édité par kiki29 le 14-05-2006 à 17:16:04
n°1365954
kakashi75
Posté le 14-05-2006 à 18:16:42  profilanswer
 

kiki29 a écrit :

Cela n'a à priori rien de gênant, d'une longue pratique héritée du Dos j'ai toujours préféré voir l'extension à la suite du nom de fichier et cela même sur MacIntosh et cette pratique m'a donné raison.  
Dans la liste des fichiers sur ta feuille Excel si par hasard on a FiltreFichier = "*.*"  rien ne va discerner un executable d'un fichier Excel, Word ou Acrobat ou eDonkey ?
 
Enfin moi c'est par expérience mais si tu veux tenter tu rajoutes en dessous de la ligne  
qui te formate le nom de fichier qqch comme :
Cells(i + 1, 1).Formula = Left(Cells(i + 1, 1), Application.Find(".", Cells(i + 1, 1), 1) - 1)


 
 
Merci mais enfaite je veux pas faire afficher l'extention tout simplement parce que sinon la comparaison va en tenir compte et donc faussé le resultat.
ex: fichier1.part et fichier1.igs  
=> leurs noms sont pourtant identique mais sachant que l'extention n'est pas identique, le problème est qu'il va les considérer comme non identique.
 
Sinon comment je pourrais faire la comparaison seulement entre les noms des fichiers sans prendre en compte l'extention. (de plus les noms de mes fichiers sont des chiffres, ce qui pourrai facilité le code non?)
 
C'est pourquoi je voulais recuperer juste le nom pour ainsi faciliter la comparaison. Mais si tu as une autre solution je suis ouvert a tte proposition  ;)  

n°1365962
kakashi75
Posté le 14-05-2006 à 18:29:21  profilanswer
 

Non enfin de compte, je vais laisser comme ceci avec ta solution:
Cells(i + 1, 1).Formula = Left(Cells(i + 1, 1), Application.Find(".", Cells(i + 1, 1), 1) - 1)
Maintenant me reste plus que ma partie vbs.
 
Je tiens surtout à te remercier de la rapidité de ton aide très détaillé, qui m'a été très utile et permis d'avancé.
Bonne soirée a toi!!
 
 

n°1365978
kiki29
Posté le 14-05-2006 à 19:19:56  profilanswer
 

Va jeter un oeil sur http://www.bellamyjc.org/fr/vbscript.html pour VBS
a mon avis l'un des meilleurs sites francophones
ainsi que http://tahe.developpez.com/web/vbscript/

Message cité 1 fois
Message édité par kiki29 le 14-05-2006 à 21:48:30
n°1370121
kakashi75
Posté le 18-05-2006 à 22:10:18  profilanswer
 

kiki29 a écrit :

Va jeter un oeil sur http://www.bellamyjc.org/fr/vbscript.html pour VBS
a mon avis l'un des meilleurs sites francophones
ainsi que http://tahe.developpez.com/web/vbscript/


 
 
salut
 
Toute compte fait je me suis aperçu que je pouvais faire mon code avec l'editeur vba du logiciel "catia" (logiciel de cao) au lieu du vbs, cependant dans cet editeur vba, il n'y pas de lien avec un fichier excel ce qui me pose probleme pour pouvoir stocker des données.
 
Donc puis je faire appel à mon fichier vba (celui avec Excel: pour la comparaison des noms de fichier) à partie de l'editeur vba , puis récuperer par exemple les liens de mes fichiers issue de la comparaison pour permettre l'operation d'enregistrement avec le logiciel sous un autre dossier.
 
un exemple que j'ai fait :
 
Sub CATMain()
 
Dim documents1 As Documents
Set documents1 = CATIA.Documents
 
Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Open("D:\projet trappe\r13\chape a souder.CATPart")     " récuperer n lien sur une colonne excel du fichier vba appellé"

Set partDocument1 = CATIA.ActiveDocument
 
partDocument1.ExportData "F:\Documents and Settings\chape a souder.igs", "igs"    "convertir le fichier ouvert ds un autre dossier"

Set partDocument1 = CATIA.ActiveDocument
 
partDocument1.Close
 
" une boucle jusqu'a n lien récuperer"
 
End Sub
 
Ici mon gros soucis est de pouvoir récuperer les données issue de mon code de comparaison.
 
 
Voila, merci de ton aide  ;)  
Si d'autre personne pourrait m'éclairer sont la bienvenu aussi  :)  
 

n°1370228
kiki29
Posté le 19-05-2006 à 04:32:37  profilanswer
 

n'ayant pas la Catia à dispo je ne t'apporterais à priori que peu d'aide

n°1370861
kakashi75
Posté le 19-05-2006 à 20:15:00  profilanswer
 

non enfaite peu importe  catia ou pas, mes questions sont purement vba :
Sous un fichier VBA je souhaite juste savoir comment faire appelle à un fichier texte comportant differents noms de fichiers  pour ensuite agir dessus??
 
exemple:
 
sous VBA:
 
- je fait appelle à un fichier texte pour ensuite agir sur les noms qui comportent: (ex= noms1 , nom2, ....)
 
- Puis ouvrir chacun de ces fichiers et les enregistrer sous une autre extension chacun à leur tour dans un autre repertoire.
 
Je voudrais juste un exemple de code pour ce type d'operation.
 
merci
 
 
 
 
 
 

n°1370972
kiki29
Posté le 20-05-2006 à 03:59:11  profilanswer
 

Je pense que tu as déjà toutes les infos nécessaires
il existe des instructions :
 
fso.FileExists Destination & fichier
fso.CopyFile Source & fichier, Destination, True
fso.MoveFile Source & file, Destination
fso.DeleteFile file, True
 
bref dans le bon contexte taper FSO. (FSO point) et voir la liste déroulante


Message édité par kiki29 le 20-05-2006 à 09:33:28
n°1371202
kakashi75
Posté le 20-05-2006 à 18:10:08  profilanswer
 

enfaite, j'ai un petit soucis que je n'ai toujours pas resolu, tu vois la fonction du debut qui permet de scanner les noms de fichiers, je n'arrive tjrs pas a changer de destination de disque sans que cela marche.
y'a pourtant que cette ligne à changer??
 ChDir "C:\Transfert"

n°1371263
kiki29
Posté le 20-05-2006 à 20:51:40  profilanswer
 

Autant pour moi  
Remplace aux endroits indiqués
Il n'y avait pas de gestion d'erreurs
du style aucun fichier dans dossier de test


Sub TestCreationListeFichiers()
 .....
 ' Dossier de test
 Dossier = "D:\Backup\Utiles\Vrac"
            .....
            If ListeNomsFichiers <> "" Then   <====
                 For i = 1 To UBound(ListeNomsFichiers)
                       ....
                 Next i
           End If
 
===> Function CreationListeFichiers(ByVal Dossier As String, ByVal FiltreFichier As String, ByVal InclureSousDossier As Boolean) As Variant
 ....
 With Application.FileSearch
  ...
====>  .LookIn = Dossier


 
ou alors  


Sub ListeFichiersTableau()
Dim NomFichier As String, NomFichierSansExtension As String
Dim Dossier As String, NbFichiers As Integer, Pos As Integer
Dim Tableau() As String, i As Integer
 
    ' Dossier de test
    Dossier = "C:\Transfert\*.*"
    NomFichier = Dir(Dossier)
    Cells.Clear
    Erase Tableau
    NbFichiers = 0
    Do While Len(NomFichier) > 0
        NbFichiers = NbFichiers + 1
        ReDim Preserve Tableau(1 To NbFichiers)
        Pos = InStr(1, NomFichier, ".", 1)
        NomFichierSansExtension = Left(NomFichier, Pos - 1)
         
        Tableau(NbFichiers) = NomFichierSansExtension
        NomFichier = Dir()
    Loop
     
    If NbFichiers > 0 Then
        For i = 1 To UBound(Tableau)
            Cells(i + 1, 1) = Tableau(i)
        Next
    End If
End Sub


Message édité par kiki29 le 18-11-2006 à 22:27:05
n°1372038
kakashi75
Posté le 22-05-2006 à 12:25:45  profilanswer
 

Option Explicit
 
Function CreationListeFichiers(ByVal dossier As String, ByVal FiltreFichier As String, ByVal InclureSousDossier As Boolean) As Variant
Dim ListeFichiers() As String, NbFichiers As Long
    CreationListeFichiers = ""
    Erase ListeFichiers
    If FiltreFichier = "" Then FiltreFichier = "*.*"
    With Application.FileSearch
        .NewSearch
        .LookIn = dossier
        .Filename = FiltreFichier
        .SearchSubFolders = InclureSousDossier
        .FileType = msoFileTypeAllFiles
        If .Execute(SortBy:=msoSortByFileName, _
            SortOrder:=msoSortOrderAscending) = 0 Then Exit Function
        ReDim ListeFichiers(.FoundFiles.Count)
        For NbFichiers = 1 To .FoundFiles.Count
            ListeFichiers(NbFichiers) = .FoundFiles(NbFichiers)
        Next NbFichiers
        .FileType = msoFileTypeExcelWorkbooks
    End With
    CreationListeFichiers = ListeFichiers
    Erase ListeFichiers
End Function
 
Sub TestCreationListeFichiers()
Dim ListeNomsFichiers As Variant, i As Integer,
    ' Dossier de test
    dossier = "E:\Documents and Settings\All Users\Application Data\Microsoft\Office\Data"
    ListeNomsFichiers = CreationListeFichiers("*.*", False)
    Range("A:A" ).ClearContents
    If ListeNomsFichiers <> "" Then
    For i = 1 To UBound(ListeNomsFichiers)
        Cells(i + 1, 1).Formula = ListeNomsFichiers(i)
    Next i
     
    End If
     
End Sub
 
voila la modif que j'ai faite selon ce que tu ma dit mais cela ne fonctionne tjrs pas: variable non défini. je pense que cela doit etre la variable "dossier"???  
 
Mais je me pose qd meme la question, pk le code de base sans modif fonctionne bien sur les destinations de mon disque principale et par contre sur les autres disques (N:\ , D:\, ...) non?
 
 
 
 
 

n°1372408
kiki29
Posté le 22-05-2006 à 17:41:55  profilanswer
 

Dans VBA Debogage CompilerVBA Project et tu auras la réponse

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  besoin d'aide vba

 

Sujets relatifs
Besoin d'aide pour un premier programmeBesoin d'aide sur un code "copier - coller"
besoin d'aide pour faire un puissance 4 avec structurespblm de requete SQL besoin aide !!!
besoin d'aide pour naviguation dans page HTMLbesoin aide pour remplacer fichier php par table sql?
Problème d'affichage avec une listbox - Besoin d'aidebesoin d'aide pour installer un sondage !
Petite aide, traduction vbs -JS : besoin de quelques lignes de codes !imageview, imagelist, besoin d'aide
Plus de sujets relatifs à : besoin d'aide vba


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR