Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb de transfert vers excel avec conversion automatique non souhaitée

  • Initiateur de la discussion Initiateur de la discussion chris6999
  • Date de début Date de début

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 !

chris6999

XLDnaute Impliqué
Bonjour

J'ai adapté une macro qui récupère les données récupérées dans un fichier de type .txt
Quand le système récupère ces données dans Excel il fait automatiquement une conversion en scindant le texte en plusieurs colonne alors que je ne le lui demande pas.

Peut-on éviter cette conversion automatique?

Je mets un bout de ma macro pour info
Merci pour votre aide


Workbooks.Open (Chemin & sFic)
Cells.SpecialCells(xlCellTypeConstants, 23).Select
Selection.Copy
ActiveWorkbook.Close SaveChanges:=False
Workbooks("TESTOUVERTUREFICHIER.xls").Activate
Sheets("Mise en forme").Visible = True
Sheets("Mise en forme").Activate
'met toutes les cellules de la feuille de mise en pageau format texte pour éviter les pb de conversion
Cells.Select
Selection.NumberFormat = "@"
Range("b1").Select

'copier la sélection dans la cellue B1

ActiveSheet.PasteSpecial Format:="Texte Unicode"



End If
' Ne pas oublier ceci, sinon on reste sur le même fichier
sFic = Dir()
Loop
If FlgOK = False Then
MsgBox "Aucun fichier trouvé dans le dossier"
End If
End Sub
 
Re : Pb de transfert vers excel avec conversion automatique non souhaitée

Bonsoir chris6999.


Difficile de comprendre un code aussi incomplet (variables pas initialisées, End If sans If, Loop sans Do).

Ce que je vois dans votre message :
  1. copie d'une plage de données d'un classeur Excel ;
  2. collage spécial de cette plage avec l'attribut Format:="Texte Unicode" dans un autre classeur Excel.

Autrement dit, transmission de données d'un classeur Excel vers un autre classeur Excel.
Quel est le rapport avec l'importation d'un fichier au format .txt vers un classeur Excel ?​


ROGER2327
#6501


Vendredi 13 Pédale 140 (Sainte Valburge - fête Suprême Quarte)
17 Ventôse An CCXXI, 8,6031h - doronic
2013-W10-4T20:38:51Z
 
Re : Pb de transfert vers excel avec conversion automatique non souhaitée

Bonsoir Roger

Pour répondre à votre question, la macro va ouvrir, depuis mon fichier Excel intial, un fichier de type . txt avec le code Workbooks.Open (Chemin & sFic)tial
Du coup le .txt s'ouvre avec excel. Je n'ai pas trouvé le moyen de piloter l'ouverture d'un .txt par le bloc note à partir d'une macro lancée à partir d'Excel.

Mon but est de copier les données récupérées dans ce . txt puis de les coller dans mon fichier d'origine mais sans faire de conversion sur de multiples colonnes.

J'espère m'être mieux exprimée.
Cordialement
 
Re : Pb de transfert vers excel avec conversion automatique non souhaitée

Re...


Un code à essayer :​
VB:
Sub Essai1()
Dim chemin$, fichier$
    chemin = ActiveWorkbook.Path 'Chemin du fichier texte. On suppose ici que c'est le chemine du classeur actif.
    fichier = "messageEnCours" 'Nom du fichier texte.
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & chemin & "\" & fichier & ".txt", Destination:=Range("$B$12"))
        .Name = fichier
        .FieldNames = True '*
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshStyle = xlOverwriteCells
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False '*
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2)
        .TextFileFixedColumnWidths = Array(1023) '*
        .TextFileTrailingMinusNumbers = True

        .Refresh BackgroundQuery:=False
        .Delete 'pour détruire la requête.

    End With
End Sub
Attention ! Je ne dispose pas d'Excel2003 : ce code n'a été testé qu'avec Excel2010.



ROGER2327
#6502


Vendredi 13 Pédale 140 (Sainte Valburge - fête Suprême Quarte)
17 Ventôse An CCXXI, 9,6957h - doronic
2013-W10-4T23:16:11Z
 
- 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
0
Affichages
800
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…