VB et Excel

Résolu
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
-
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
-
Bonjour,

j'utilise Excel avec du un programme VB. J'ai un soucis :
sur certaines cellules, lors de l'enregistrement, Excel me transforme des valeurs 10/11 en 10/11/2006 ....
Comment faire pour désactiver ceci svp?

Merci bien

Aurélien

10 réponses

Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Je suis pas sur d'avoir bien compris ce que tu as dis.
Le but est que ce soit tout automatique.

J'ai trouvé la solution, j'ouvre le fichier texte de cette façon :

appExcel.Workbooks.OpenText FileName:="C:\source.txt", Origin:=xlWindows, _
            StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(0, xlTextFormat), TrailingMinusNumbers:=True

Merci

@+
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour

Pour résoudre ce pb, mets un format 'Texte' aux cellules corrspondantes car là il prend la barre de fraction pour l'opérateur division.
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Merci, mais j'ai 400 fichiers textes avec une dizaine de champs dans ce style...
Tu n'as pas une autre solution stp? :)
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
400 fichiers Excel pardon avec une dizaine de champs de ce style par fichier
Messages postés
104
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
28 septembre 2006

Essayes une macro avec :


replace("10/11", "=10/11")
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
peut t'on modifier le format d'une collone de cellules en VB svp?

merci :)
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut,


Ça dépend comment tu procèdes pour te "connecter" à tes fichiers Excel.

Un exemple si tu crées des objets Excel.Application ou WorkSheet...


    xlSheet.Columns("A:A").NumberFormat = "dd/mm"   'format jour et mois

    xlSheet.Columns("A:A").NumberFormat = "@"          'format texte

MPi
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Salut!

Déjà, merci pour vos réponses :)
J'ai fais plusieurs essais, j'arrive à mettre la collone du fichier destination en texte, mais le soucis vient du fichier source que j'ouvre directement avec Excel avec la commande:

appExcel.Workbooks.OpenText FileName:="C:\source.txt", Origin:=xlWindows, _
            StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
            ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

et a ce eoment là, la valeur 10/12 par exemple est déjà convertie en date...
Comment faire pour l'en empécher svp?

Merci beaucoup :)
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
Je pensais avoir trouver une solution :

appExcel.Workbooks.OpenText FileName:="C:\source.txt", Origin:=xlWindows, _
            StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=xlTextFormat

mais le compilateur me dit :
"La méthode OpenText de la classe Workbooks a échoué" .

Pourquoi??

Merci de votre aide! :)
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Il serait peut-être préférable que tu ouvres le fichier "toi-même" et
que tu inscrives les données comme tu l'entends plutôt que de laisser
Excel le faire pour toi...

MPi