Vba - Traitement par cellule & création de dossier puis fichier

Rédigé par Xpress Aucun commentaire
Classé dans : Vba Mots clés : Vba, Traitement, Cellule, Création, Fichier, Dossier
CheminGeneral = "S:Nomdossier"
Dim fso, file
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")


Dim i
i = 0
Dim CellB As String

'Pour chaque cellule dans le classeur "NomClasseur" dans la colone A
For Each Cell In Sheets("NomClasseur").UsedRange.Columns("A").Cells

'Compteur pour utiliser récupérer la cellule colonne B correspondante
    i = i + 1

 'Si la cellule n'est pas vide et ne contient pas le titre ; attention la cellule n'est pas forcément considérée comme vide, dans ce cas faire un (if not cell.value = "")
    If IsEmpty(Cell.Value) = False And Cell.Value <> "Titre" Then


'celluleB = ligne compteur, colone2
        CellB = Sheets("NomClasseur").Cells(i, 2).Value

On peut par exemple reformer le contenu dans une variable, ici pour de la création de fichier qui n’acceptera pas ces caractères : 
        FindString = Cell.Value
        FindString = Replace(FindString, "/", "_")
        FindString = Replace(FindString, "", "_")
        FindString = Replace(FindString, ":", "_")
        FindString = Replace(FindString, "?", "_")
        FindString = Replace(FindString, "<", "_")
        FindString = Replace(FindString, ">", "_")
        FindString = Replace(FindString, "|", "_")
        FindString = Replace(FindString, "é", "e")
        FindString = Replace(FindString, "è", "e")
        FindString = Replace(FindString, "à", "a")


'On test si le fichier n'existe pas déjà, ici pour de la création de fichier markdown
        Dim strFileName As String
        Dim strFileExists As String
        strFileName = (CheminGeneral & "NomDossier" & FindString & ".md")
        strFileExists = Dir(strFileName)

If strFileExists = "" Then
On crée le fichier MarkDown au nom du string formaté car il n'existe pas
        Emplacement = (CheminGeneral & "NomDossier" & FindString & ".md")
        Set file = fso.OpenTextFile(Emplacement, ForWriting, True)

  
Puis on peut par exemple écrire un contenu dans le fichier
        file.Write "Mon Contenu" & vbCrLf
        file.Close

Else
            ' le fichier de brique existe déjà
     End If

Fil RSS des articles de ce mot clé