PB macro

Bonjour,

je veux utiliser une macro que h2so4 a faites mais j'ai des pb avec.

je suis sur MAC et la pas de soucis fichier txt avec deux infos par ligne séparées par une virgule.

quand j'ouvre le fichier sur pc les sauts à la ligne ont disparues donc tout bout à bout???????

et de plus quand j'utilise le fichier sur PC il ne veux pas me créer mes fichiers txt sans aucun message?????

la j'y comprend plus rien.

Sub envoitxt()
Dim fichier As String
fichier = Range("g6").Text

    Application.ScreenUpdating = False
    SauveZoneFichierTexte Feuil1.Range("c1:c100"), fichier & ".txt"

    Application.ScreenUpdating = True
End Sub

Private Sub SauveZoneFichierTexte(rZone As Range, stName As String)
    Dim f As Integer
    Dim c As Range
    Dim i As Integer
    f = FreeFile
    Open stName For Output As #f
    For Each c In rZone
        temp = Split(c.Text, Chr(10))
        For i = 0 To UBound(temp)
            ' MsgBox temp(i)
           Print #f, temp(i)
        Next i
    Next
    Close f
End Sub

merci par avance pour votre aide,

Daniel

Bonjour,

Dans tes cellules, tu n'as pas de retour à la ligne d'où le problème !

Tu peux tester avec ceci :

Sub Test()

    MsgBox UBound(Split(ActiveCell.Value, Chr(10)))

End Sub

tu sélectionnes la cellule et tu exécutes cette proc, si elle t'indique une valeur supérieure à 0 alors tu as au moins un retour à la ligne mais si c'est 0, pas de retour à la ligne. Tu peux en créer un avec alt+Entrée puis tu retestes !

test fait j'ai 0 donc pas de retour chariot.

dans ma cellule exportée j'ai:

=A1&","&B1

ne peut-on pas l'intégrer à la formule?

Merci


ou peut êtr un vbLf en vba mais ou?


c'est bon j'ai trouvé:

=A2&","&B2&CAR(10)

encore merci de m'avoir aiguillé.

Daniel

bon je suis allé trop vite cela ne marche pas tjrs le même probléme.

sur MAC ok mais sur PC mon fichier refuse de créer les txt.

pouvez vous me confirmer que cela ne fonctionne pas sur PC ou j'ai un problème sur le mien???

Merci

Re,

Il y a une chose que je ne comprend pas ?

Dans la ligne ci-dessous :

SauveZoneFichierTexte Feuil1.Range("c1:c100"), fichier & ".txt"

Tu passes toujours comme feuille la feuille Feuil1 (Feuil1 est ici le nom du module de la feuille "3-PI V1") donc à quoi sert la boucle ?

Bonjour,

je ne sais pas c'est un code que j'ai adapté à ma situation car moi et le VBA cela fait deux je commence donc j'ai du mal.

mais voila sur mon mac il me crée tout les fichier texte mais sur PC rien d'ou mon interrogation.

si tu as une idée d'erreur je suis preneur.

tu pense qu'il faut remplacer le feuil1 par le nom de la feuille à chaque boucle?


la boucle sert à envoyer tout les fichiers txt un à chaque feuille.

je vais enlever les autres boutons ensuite car au départ c'était une macro pour une feuille seulement mais pour éviter les manip j'envois tout les fichiers.

Re,

Testes ce qui suit et dis moi. Chez moi ça fonctionne avec CAR(10) (forcément puisqu'il y est !) :

Sub envoitxt()

    Dim Fe As Worksheet
    Dim Plage As Range
    Dim fichier As String

    For Each Fe In Worksheets

        'en colonne C à partir de C1
        With Fe: Set Plage = .Range(.Cells(1, 3), .Cells(.Rows.Count, 3).End(xlUp)): End With

        fichier = Fe.Range("G6").Text

        SauveZoneFichierTexte Plage, fichier & ".txt"

   Next

End Sub

Private Sub SauveZoneFichierTexte(rZone As Range, stName As String)

    Dim C As Range
    Dim I As Integer
    Dim Temp
    Dim Dossier As String

    Dossier = ThisWorkbook.Path & "\"

    Open Dossier & stName For Output As #1

        For Each C In rZone

            Temp = Split(C.Text, Chr(10))

            For I = 0 To UBound(Temp)

               Print #1, Temp(I)

            Next I

        Next

    Close 1

End Sub

Attention, il est préférable de préciser aussi le dossier pour le fichier texte car il ne sera pas forcément enregistrer dans le dossier où se trouve le classeur. Fais une recherche sur ton disque pour voir si ils n'ont pas été malgré tout créés et enregistrés ailleurs !

Re

je viens de tester et là merveilleux cela fonctionne.

Un grand merci pour ce dépannage trés rapide.

bonne soirée,

Daniel

Rechercher des sujets similaires à "macro"