Cells(i, 3) = Right(Cells(i, 1), Len(Cells(i, 1)) - InStrRev(Cells(i, 1).Value, ".") + 1)
Cells(i, 3) = Mid((Cells(i, 1), InStrRev((Cells(i, 1), "."))
Selection.End(xlDown).Select fin = Range("A1").End(xlDown).Row For i = 2 To fin Range("A" & i).Select lien = Range("A" & i).Value If Range("A" & i).Value <> "" Then ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=lien End If Next
For i = 2 To Range("A1").End(xlDown).Row If Range("A" & i).Value <> "" Then ActiveSheet.Hyperlinks.Add Anchor:=Range("A" & i), Address:=Range("A" & i).Value End If Next
mes_fics = Dir(mon_dossier, vbNormal Or vbHidden)
vbNormal et vbHidden sont des constantes. Elles représentent des attributs de fichiers (vbNormal fichier normal - vbHidden fichier caché)
si l'on avait voulu recenser/compter que des dossier, l' attribut aurait été vbDirectory .
Fastoche, non ? ==>> vas-y === >> essaye, avec ce même code, de ne recenser que des dossiers
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim mon_dossier As String, mes_dos As String, cpt As Integer mon_dossier "D:\andrecourbe" '>> mettre ici ton dossier à toi mes_dos Dir(mon_dossier, vbDirectory) '>> on extrait le 1er cpt = 1 Do While mes_dos <> "" ' et on continue en boucle If mes_dos <> "." And mes_dos <> ".." Then If (GetAttr(mon_dossier & mes_dos) And vbDirectory) = vbDirectory Then ' MsgBox mes_dos ' ====>> décommente cette ligne, cela t'aidera à voir ce qui se passe cpt = cpt + 1 End If End If mes_dos Dir '>> on passe au suivant Loop MsgBox "le dossier " & mon_dossier & " contient " & cpt & " dossiers "
Option Explicit Private cpt_dos As Integer, cpt_fics As Integer ' Private Sub CommandButton1_Click() Dim repertoire As String repertoire = "d:\andrecourbe" RecurseFiles2 repertoire MsgBox "contenu du dossier " & repertoire & " : " & vbCrLf & cpt_dos & " dossiers " & vbCrLf & cpt_fics & " fichiers" End Sub Sub RecurseFiles2(ByVal repertoire As String) Dim tous_ensemble As String, nb_trouves As Integer Dim tremplin As String, i As Integer If Right$(repertoire, 1) <> "" Then repertoire = repertoire & "" tous_ensemble = Dir$(repertoire, vbNormal Or vbHidden Or vbDirectory) nb_trouves = 1 Do While tous_ensemble <> "" If tous_ensemble <> "." And tous_ensemble <> ".." Then tremplin = repertoire & tous_ensemble If GetAttr(tremplin) And vbDirectory Then ListBox1.AddItem "===== DOSSIER " & tous_ensemble cpt_dos = cpt_dos + 1 RecurseFiles2 tremplin ' Ah ! un dossier ! ===>> on appelle la fonction sur elle-même, alors (récursivité) tous_ensemble = Dir$(repertoire, vbDirectory) For i = 2 To nb_trouves tous_ensemble = Dir$ Next Else cpt_fics = cpt_fics + 1 ListBox1.AddItem tous_ensemble End If End If tous_ensemble = Dir$ nb_trouves = nb_trouves + 1 Loop End Sub