Annuler la conversion automatique import txt vers excel
conrade82
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je travaille sur un projet pour lequel j'exporte d'un logiciel (appelons-le Alpha) des données sous format txt. A l'origine, ces données sont sauvegardées dans un fichier txt. Puis, à partir d'un fichier excel, une macro lance l'importation des données du fichier txt. En procédant ainsi, je parviens à convertir les données selon un ordre bien précis à savoir:
1- convertir les données des lignes 2 à la dernière ligne importée
2- convertir séparément la ligne 1 qui a une typographie différente.
Afin d'éviter de procéder par ces intermédiaires (fichier txt, puis macro, puis un autre process), je souhaite coller les données exportées de Alpha directement dans une feuille excel. Quand on effectue cette manipulation pour la première fois (simple copier/coller), les données d'Alpha sont brutes sans conversion en colonne A. Si je convertis les données de la colonne A (manuellement comme par macro VBA), j'obtiens le format qui m'intéresse. Cette opération peut être effectuée plus d'une fois et de façon régulière.
Mon souci: dès l'instant que j'ai déjà effectué une conversion, toutes les autres importations (les copier/coller) se convertissent automatiquement mais pas dans le bon format. Je souhaite annuler cette conversion automatique. Pour le moment, le seul moyen plus ou moins efficace est celui de redémarrer mon ordinateur et encore parfois, cela ne fonctionne pas du premier coup. Quelqu'un sait-il comment faire en sorte que chaque fois que je copie mes données txt, qu'elles ne se convertissent pas et restent brutes en une seule colonne ?
C'est un roman que j'ai écrit. J'espère avoir malgré tout été assez explicite. A dispo pour plus d'explication s'il y a lieu.
Merci d'avance.
Cordialement,
Conrade82
Je travaille sur un projet pour lequel j'exporte d'un logiciel (appelons-le Alpha) des données sous format txt. A l'origine, ces données sont sauvegardées dans un fichier txt. Puis, à partir d'un fichier excel, une macro lance l'importation des données du fichier txt. En procédant ainsi, je parviens à convertir les données selon un ordre bien précis à savoir:
1- convertir les données des lignes 2 à la dernière ligne importée
2- convertir séparément la ligne 1 qui a une typographie différente.
Afin d'éviter de procéder par ces intermédiaires (fichier txt, puis macro, puis un autre process), je souhaite coller les données exportées de Alpha directement dans une feuille excel. Quand on effectue cette manipulation pour la première fois (simple copier/coller), les données d'Alpha sont brutes sans conversion en colonne A. Si je convertis les données de la colonne A (manuellement comme par macro VBA), j'obtiens le format qui m'intéresse. Cette opération peut être effectuée plus d'une fois et de façon régulière.
Mon souci: dès l'instant que j'ai déjà effectué une conversion, toutes les autres importations (les copier/coller) se convertissent automatiquement mais pas dans le bon format. Je souhaite annuler cette conversion automatique. Pour le moment, le seul moyen plus ou moins efficace est celui de redémarrer mon ordinateur et encore parfois, cela ne fonctionne pas du premier coup. Quelqu'un sait-il comment faire en sorte que chaque fois que je copie mes données txt, qu'elles ne se convertissent pas et restent brutes en une seule colonne ?
C'est un roman que j'ai écrit. J'espère avoir malgré tout été assez explicite. A dispo pour plus d'explication s'il y a lieu.
Merci d'avance.
Cordialement,
Conrade82
A voir également:
- Annuler conversion automatique excel
- Liste déroulante excel - Guide
- Réponse automatique thunderbird - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
Essaie ceci:
Essaie ceci:
Option Explicit Private Sub CommandButton1_Click() ImportText ThisWorkbook.Path & "\Data_Base_à_intégrer.txt", Range("A1") End Sub Sub ImportText(FileName As String, PosImport As Range) Dim QT As QueryTable Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=PosImport) With QT .TextFileSemicolonDelimiter = True .TextFileTextQualifier = xlTextQualifierDoubleQuote .Refresh End With End Sub Private Sub CommandButton2_Click() Export End Sub Sub Export() Dim mafeuille As Worksheet Set mafeuille = ActiveWorkbook.ActiveSheet Range("E:E").NumberFormat = "dd/mm/yyyy;@" Range("F:F").NumberFormat = "dd/mm/yyyy;@" mafeuille.Copy With ActiveWorkbook ChDir ThisWorkbook.Path & "\" Application.DisplayAlerts = False ActiveWorkbook.SaveAs FileName:= _ ThisWorkbook.Path & "\Data_Base_à_intégrer.txt", _ FileFormat:=xlText, CreateBackup:=False .Close SaveChanges:=True End With ActiveWorkbook.Save End Sub
Merci pour votreretour rapide. Juste une petite précision: vous m'avez aidé pour la macro Export et je vous en remercie. Mais la question de ce poste n'est absolument pas en lien avec votre première aide. Et c'est aussi pour éviter d'utiliser un fichier text que je prends une autre direction. Je veux coller des datas en collage spécial text. ci-joint un fichier excel avec trois feuilles. La feuille 1 correspond à ce que je veux quand je colle les nouvelles données de mon logiciel vers excel. La feuille 2 est le résultats après conversion des données ainsi importées. Probleme. Quand je colle de nouvelles données, elles ne se collent pas comme dans la feuille 1 mais directement et automatiquement comme dans la feuille 3.C'est comme si Excel gardait en mémoire la dernière conversion text. Je suis à la recherche de l'action qui évitera cette auto-conversion (si c'est possible)...
https://www.cjoint.com/c/EKDw3UvuL2V
Et pour info, voici mon code (et donc le résultat qui m'intéresse):
Merci d'avance.
Application.DisplayAlerts = False
La feuille s'appelle "Forcast1". J'ai transmis un bout du code car il s'agit d'une boucle qui effectue cette action sur 3 feuilles "Forecast1/2/3".
En effet "application..." est redondant.
Merci beaucoup.