Exporter du code à partir d'Excel

Bonjour,

J'ai un tableau avec 3 colonnes et environ 500 lignes.

J'aimerais à partir de ce tableau créer un fichier texte de la forme suivante:

si (m="Colonne 1, Ligne 1")

{

xx[1] = 25;

xx[2] = "Colonne 2, Ligne 1";

xx[3] = "Colonne 3, Ligne 1";

xyz#=xx;

}

si (m="Colonne 1, Ligne 2")

{

xx[1] = 25

xx[2] = "Colonne 2, Ligne 2";

xx[3] = "Colonne 3, Ligne 2";

xyz#=xx;

}

....

Ainsi de suite jusqu'à m=500

Merci pour votre aide.

Sirrems

bonjour

un petit fichier de 3 colonnes et 5 lignes, avec le résultat attendu

à te relire

amitiés

Bonjour,

Merci pour ta réponse.

Voici les fichiers en pièce jointe

Merci

6code.txt (549.00 Octets)
6tableau.xlsx (8.64 Ko)

Bonjour,

Voici un exemple de procédure qui génère un fichier TXT qui correspond au résultat que tu souhaites (export personnalisé).

Le fichier est créé dans le même dossier que le fichier Excel.

Dans le code, je pointe sur l'onglet "Feuil2" (à remplacer par le nom réel de ton onglet).

Sub ExportTXT()
    Dim Chemin As String
    Dim NbLignes As Long
    Dim Fichier As String
    NbLignes = Sheets("Feuil2").Cells(65536, 1).End(xlUp).Row
    Chemin = ActiveWorkbook.Path
    'Nom du fichier exporté
    Fichier = Chemin & "\Export Excel.txt"

    Open Fichier For Output As #1
    Print #1, "{"

    For i = 2 To NbLignes
        Print #1, Chr(9) & "si (m=" & Cells(i, 1) & ")"
        Print #1, Chr(9) & "{"
        Print #1, Chr(9) & Chr(9) & "xx[1] = 25;"

        For j = 2 To 3 'Nb de colonnes
            Print #1, Chr(9) & Chr(9) & "xx[" & j & "] = " & Cells(i, j).Value & ";"
        Next j
        Print #1, Chr(9) & Chr(9) & "xyz#=xx;"
        Print #1, Chr(9) & "}"
    Next i

    Print #1, "}"

    Close #1
End Sub

Bien cordialement

Bonjour,

Magnifique, ça marche super bien.

Merci beaucoup,

Sirrems

Super !

J'ai seulement constaté après coup que le séparateur décimal dans l'exemple de résultat souhaité était un point et non une virgule.

Je te transmets la petite correction que j'ai faite qui consiste à utiliser une fonction interne qui remplace la virgule par un point.

Ci-dessous:

Sub ExportTXT()
    Dim Chemin As String
    Dim NbLignes As Long
    Dim Fichier As String
    Dim C As Range
    Sheets("Feuil2").Select
    NbLignes = Sheets("Feuil2").Cells(65536, 1).End(xlUp).Row
    Chemin = ActiveWorkbook.Path
    'Nom du fichier exporté
    Fichier = Chemin & "\Export Excel.txt"

    Open Fichier For Output As #1
    Print #1, "{"

    For i = 2 To NbLignes
        Print #1, Chr(9) & "si (m=" & Cells(i, 1) & ")"
        Print #1, Chr(9) & "{"
        Print #1, Chr(9) & Chr(9) & "xx[1] = 25;"

        For j = 2 To 3 'Nb de colonnes
            Print #1, Chr(9) & Chr(9) & "xx[" & j & "] = " & RemplaceVirgule(Cells(i, j).Value) & ";"
        Next j
        Print #1, Chr(9) & Chr(9) & "xyz#=xx;"
        Print #1, Chr(9) & "}"
    Next i

    Print #1, "}"

    Close #1
End Sub

Function RemplaceVirgule(N As Double) As String
    Dim T As String
    Dim i As Integer
    T = CStr(N)
    Dim R As String
    For i = 1 To Len(T)
        If Mid(T, i, 1) = "," Then
            R = R & "."
        Else
            R = R & Mid(T, i, 1)
        End If
    Next i
    RemplaceVirgule = R

End Function

Bon courage pour la suite,

Merci beaucoup!

Sirrems

Rechercher des sujets similaires à "exporter code partir"