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 !
Merci pour le silence qui m'oblige à fouiner un peu plus.🙂
(Sauf que je n'ai trouvé que des "Usine à gaz" avec plein de fleurs autour!)
Je me sens un peu seul, mais c'est certainement en raison de l'heure et du jour mal choisis.
Je joins deux Classeurs:
"TRADUCTEUR" qui va faire le boulot, et "ORIGINAL" qui est destiné à être transcrit en, ".csv"
Code:
Private Sub CommandButton1_Click()
Workbooks.Open (ActiveWorkbook.Path & "\ORIGINAL.xls")
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\TARIF.csv", FileFormat:=xlCSV, CreateBackup:=False
End Sub
Par la suite, il y a une caisse de questions qui me sont posées: 😡
"Voulez-vous enregistrer les modifications apportées à "TARIF.csv" ? ....... Je dis "Oui".
Une boite "Enregistrer sous" s'ouvre. Je fais "Enregistrer.
Je me prends dans la tronche un message me disant que le Fichier "TARIF.csv" existe déjà,
et si je veux le remplacer........... Je dis "Oui".
Une nouvelle boite me propose: "Oui", "Non", "Aide"........ Y'en a marre!
Je choisis "Oui" ......... et tout est bon..... Le Fichier ".csv" a une bonne allure.
Comment passer outre cet interrogatoire?
Yann qui rame un max.😛
P.S.: Si j'ajoute dans le code:
Code:
ActiveWorkbook.Saved = True
Là, je n'ai pas de questions, mais les colonnes ne sont pas respectées, et j'ai des virgules qui se baladent partout!
Merci pour le silence qui m'oblige à fouiner un peu plus.🙂
...
Je me sens un peu seul, mais c'est certainement en raison de l'heure et du jour mal choisis.
Je suis dessus depuis un petit moment et l'export ne me pose pas de souci, par contre je rame avec l'import pour prévoir les colonnes en format texte (004200650 par ex). Et là je vais manger 🙂 A plus. Cordialement
Je suis dessus depuis un petit moment et l'export ne me pose pas de souci, par contre je rame avec l'import pour prévoir les colonnes en format texte (004200650 par ex). Et là je vais manger 🙂 A plus. Cordialement
Je suis parti de l'idée d'entourer le texte de doublequote lors de l'export.
Pour l'import je fais un querytable mais malgré le .TextFileTextQualifier = xlTextQualifierDoubleQuote le champ concerné enlève quand même les 0. Je cherche à ce niveau.
L'apostrophe dont tu parles est importé ? (je n'ai pas encore regardé ton fichier). Si oui cette option me gène dans le sens qu'on modifie les données. Cordialement
KD
Edit : L'import dans ton fichier efface également les 0.
Tu vas dire que je cherche la petite bête et ta solution sera probablement bonne pour Yann mais à l'import il y a bien maintenant un ' dans les cellules de la colonne B alors qu'il n'y figurait pas dans la feuille 'TARIF'. Les données importées ne sont donc pas exactement les mêmes que les exportées. D'autre par les données à l'origine commençaient à la ligne 3 et sont importées à la 1. Ceci dit je n'ai rien proposé 🙂 Cordialement
Une proposition ci jointe. Pas de '. A l'import je teste le contenu à entrer dans la cellule et je formate la cellule au format texte si celui ci commence par "0" et ne commence pas par "0," ou "0." afin de retrouver le tableau initial.
Pas de boite de dialogue, il faudra donc adapter la constante vPth$ en tête de module.
"TARIF" est aussi une constante.
Par défaut la feuille exportée n'est pas supprimée et les données importées sont sur une nouvelle feuille.
Pour supprimer la feuille exportée, mettre true à la place de false ici :
VB:
Call XlsToCsv(vShNm, False, vPth)
Pour renommer la feuille d'import en "TARIF" ou selon la constante définie, mettre true à la place de false ici
Tu vas dire que je cherche la petite bête et ta solution sera probablement bonne pour Yann mais à l'import il y a bien maintenant un ' dans les cellules de la colonne B alors qu'il n'y figurait pas dans la feuille 'TARIF'. Les données importées ne sont donc pas exactement les mêmes que les exportées. D'autre par les données à l'origine commençaient à la ligne 3 et sont importées à la 1. Ceci dit je n'ai rien proposé 🙂 Cordialement
Pour le format texte ce qui m'a bloqué un moment c'est d'être parti sur un query table et de vouloir faire un import 'universel' c'est à dire ne pas être censé savoir que c'est telle ou telle colonne qui devait être texte. Ayant changé mon fusil d'épaule par la suite c'était plus simple. 🙂 Cordialement
Bonjour KenDev🙂, Habitude🙂, et à ceux qui passeront par ici,
Superbe travail! Je suis conscient du temps que vous avez passé à regarder mon problème.
C'est vraiment très gentil de votre part.
Pour moi, c'est de la "Haute Voltige", car vous parlez un langage limite accessible pour le béotien que je suis.
Pour mieux comprendre et apprendre, j'ai remplacé les constantes que je ne maîtrise pas encore suffisamment
par des variables traditionnelles.
Et aussi je remplace les noms de variables (Ex: "vShNm" par "NOM_FEUILLE")....
Cela m'aide pour l'instant. Je reviendrai à l'écriture initiale par la suite.
Par contre, je ne parviens pas à piger par quel biais vSFN se charge du nom de la feuille, et sPth du chemin?
Code:
Private Sub XlsToCsv(vSFN As String, b As Boolean, sPth As String)
Comme ici:
Code:
Open sPth & vSFN & ".csv" For Output As #1
"#1" C'est quoi?
En tous les cas cette manipulation du format ".csv" va m'être particulièrement utile.
Je vous dis un grand Merci, et vous souhaite plein de bonnes choses.
#1 représente le n° de fichier à ouvrir. Dans l'aide d'Excel : numéro de fichier
Nombre utilisé avec l'instruction Open pour ouvrir un fichier. Utilisez des numéros de fichier compris entre 1 et 255 inclus pour les fichiers non accessibles à d'autres applications, et entre 256 et 511 inclus pour les fichiers accessibles à partir d'autres applications.
Si il y a plusieurs fichiers susceptibles d'être ouvert en même temps généralement on utilise freefile (qui prend la valeur d'un n° non utilisé) à la place (pour que chaque fichier ait un n° propre).
Code:
Dim nb as integer
nb = FreeFile
Open sPth & vSFN & ".csv" For Output As #nb
- 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