bonjour
mon message d'erreur et le suivant (je n'ai jamais toucher a un code vba c'est juste un copier/coller ) :
erreur de compilation:
Sub ou Function non définie
Sub enregistrement()
Dim Fe As Worksheet
Dim Plage As Range
Dim Cel As Range
Dim Tbl() As String
Dim Ligne As String
Dim Dossier As String
Dim TEMPLATEFB01 As String
Dim I As Long
Dim J As Long
Const MdP As String = "Anonyme"
Dossier = "C:\test\"
With Worksheets("Feuil1")
TEMPLATEFB01 = Dossier & _
Replace(.Range("B3").Value, "/", "-") & "_" & _
.Range("B4").Value & "_" & _
Format(Now, "dd-mm-yyyy...hh-mm-ss") & ".csv"
End With
If MsgBox("Voulez-vous créer le fichier '" & TEMPLATEFB01 & "' ?", vbQuestion + vbYesNo, "Fichier .CSV") = vbNo Then Exit Sub
'ôte la protection si le mdp est juste sinon, message et fin !
Worksheets("TEMPLATE_FB01").Unprotect MdP
'gèle l'affichage
Application.ScreenUpdating = False
'copie la feuille afin de préserver l'originale
Worksheets("TEMPLATE_FB01").Copy , Sheets(Sheets.Count)
'utilise une variable
Set Fe = Worksheets(Sheets.Count)
'défini la plage sur toute la feuille
Set Plage = DefPlage(Fe, 1, 1)
'supprime les formules
Plage.Value = Plage.Value
'redéfini la plage sur les valeurs en "dur"
Set Plage = DefPlage(Fe, 1, 1)
'crée les lignes pour les enregistrements tabulés avec comme séparateur le ;
For I = 1 To Plage.Rows.Count
For J = 1 To Plage.Columns.Count
Ligne = Ligne & Plage(I, J).Value & ";"
Next J
'supprime le ; de fin
Ligne = Left(Ligne, Len(Ligne) - 1)
'stocke dans un tableau
ReDim Preserve Tbl(1 To I)
Tbl(I) = Ligne
'pour la suivante
Ligne = ""
Next I
'création du fichier .csv
Open TEMPLATEFB01 For Output As #1
For I = 1 To UBound(Tbl): Print #1, Tbl(I): Next I
Close #1
'suspension du message d'alerte
Application.DisplayAlerts = False
Fe.Delete 'suppression de la feuille
ThisWorkbook.Save 'enregistre
Application.DisplayAlerts = True
'réactive la feuille
Worksheets("A_remplir").Activate
'rétabli
Application.ScreenUpdating = True
'vérifie que le fichier est bien sur le disque sinon, message d'erreur
If Dir(TEMPLATEFB01) <> "" Then
'message de confirmation
MsgBox "Le fichier '" & TEMPLATEFB01 & "' a bien été créé et enregistré dans le dossier '" & Dossier & "' !", vbInformation
Else
MsgBox "Une erreur c'est produite durant la création du fichier .csv !", vbExclamation
End If
'protège à nouveau
Worksheets("TEMPLATE_FB01").Protect MdP
End Sub
merci encore d'avoir répondu a mon problème