Problème d'exportation de valeurs vers un fichier texte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Paul_meri

XLDnaute Nouveau
Bonjour à tous,

Je présente mon souci. J'ai un programme qui fonctionne très bien, qui va chercher les données d'un fichier Excel et les range dans un fichier texte.

Voici mon code:

Code:
Private Sub Exporter_Click()
    Dim Chemin As String
    Dim ActiveFile As Workbook
    Chemin = Application.GetOpenFilename()
    ExportToTextFile Chemin, ";", ActiveFile
End Sub


Public Sub ExportToTextFile(FName As String, Sep As String, ActiveBD As Workbook)

    Dim WholeLine As String
    Dim FNum As Integer
    Dim CellValue As String
    Dim TextFile

    Application.ScreenUpdating = False
   
    FNum = FreeFile

    Open FName For Output Access Write As #FNum

    Set ActiveBD = ActiveWorkbook
    With ActiveBD.Sheets(1).Application.Names
        For i = 1 To .Count
            WholeLine = ""
            If .Item(i).RefersToRange = "" Then
                CellValue = ""
            
            Else
                CellValue = .Item(i).RefersToRange
            End If
            CellName = .Item(i).Name
            WholeLine = CellName & Sep & CellValue
            Print #FNum, WholeLine
        Next i
    End With

    Application.ScreenUpdating = True
    Close #FNum
    
End Sub

Les données dans le fichier texte sont classées ainsi:
nom_de_cellule_1;valeur1
nom_de_cellule_2;valeur2
nom_de_cellule_3;valeur3


Le problème est que je dois travailler sur un formulaire conséquent, et que certaines valeurs (obtenues avec .Item(i).RefersToRange ) n'existent pas, car le chemin est défini du type (.Item(i).ReferTo = "nom_formulaire!#REF!")

J'aimerais connaitre un moyen de contourner la problème, et de prendre en compte uniquement les variables où un chemin correct est défini.

J'espère avoir été clair, et j'espère que quelqu'un pourra m'éclairer sur ce problème.

Merci d'avance,

Paul
 
Re : Problème d'exportation de valeurs vers un fichier texte

bonjour Paul
à essayer

Public Sub ExportToTextFile(FName As String, Sep As String, ActiveBD As Workbook)

Dim WholeLine As String
Dim FNum As Integer, I As Integer
Dim CellValue As String, CellName As String, CelRef As String
Dim TextFile

Application.ScreenUpdating = False

FNum = FreeFile

Open FName For Output Access Write As #FNum

Set ActiveBD = ActiveWorkbook
With ActiveBD.Sheets(1).Application.Names
For I = 1 To .Count
WholeLine = ""
CelRef = Right(.Item(I).RefersTo, 5)
If CelRef <> "#REF!" Then
If .Item(I).RefersToRange = "" Then
CellValue = ""

Else
CellValue = .Item(I).RefersToRange
End If

CellName = .Item(I).Name
WholeLine = CellName & Sep & CellValue
Print #FNum, WholeLine
End If
Next I
End With

Application.ScreenUpdating = True
Close #FNum

End Sub

à bientôt
 
Re : Problème d'exportation de valeurs vers un fichier texte

Merci,

je ne connaissais pas les fonction Right() et Left().

J'ai commencé à les inserer dans mon programme, mais je me rend compte que le formulaire qu'on m'a refilé n'est pas extrèmement bien fait, du coup je vais devoir bidouiller avec ces fonctions.

Encore merci,

Paul
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
785
Réponses
3
Affichages
582
Retour