Gestionaire de chargement

  • Initiateur de la discussion antoine
  • Date de début
A

antoine

Guest
bonjour

J'ai presque fini mon projet de stage ( avec souvent l'aide de ce forum, bravo et merci ;-) )
Mais la dernière grosse difficulté en vue est de rajouter un petit gestionaire de chargement des diférentes configuration. Je m'explique :
-------------------------Premier problème ----------------------------------------
Les configuration sont des fichier au format .txt, les collone sont séparé par des tabulations. Il peut avoir un nombre de collone compris entre 2 et 80

Pour que la configuration soit "chargé", ( CAD qu'elle soit pris en compte par le reste du code ) Il faut qu'il se trouve dans le classeur depuis lequel on les charges. Avec comme nom de feuille DATA.

Mon probleme : exel ne remplace pas vraimment la feuille DATA si elle existe, il faudrait qu'il la supprime si elle existe,et qu'il prenne completement sa place
-------------------------------Deuxième problème -----------------------------------
les futurs utilisateurs trouvent fastidieux d'avoir a tapé le nom de la config a chargé ( pour l'instant je le fait avec une inputBox ). Le mieux serait de pouvoir explorer toujour le meme dossier et il ferait leurs choix de config dedans

----------------------------------------------------------------------------------------------

Merci de m'avoir lu jusque là ;)
et merci d'avance de toute piste ...

Antoine
 
A

antoine

Guest
j'ai presque trouvé la solution a mon deuxième problème : ouvrir une boite de dialogue avec application.getopenfileName
MAIS ( il ya toujours un mais ) : cette boite de dialogue serait parfaite si elle recuperer le nom ( et juste le nom )
 
M

michel

Guest
bonsoir Antoine

tu peux tester la macro ci dessous qui affiche les fichiers Txt par GetOpenfileName , puis recupere ( le nom du repertoire en option ) puis du fichier selectionné

Sub AfficheCheminEtNomFichier()
Dim Chemin As String
Dim j As Byte, cible As Byte

Chemin = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt")
If Chemin = "Faux" Then Exit Sub
j = 1
Do Until j = 0
cible = j: j = InStr(j + 1, Chemin, "\")
Loop

MsgBox "Le chemin est : " & Left(Chemin, cible - 1)
MsgBox "Le nom du fichier : " & Right(Chemin, Len(Chemin) - cible)
End Sub



bonne soiree
michel
 
D

Dop

Guest
bonjour Michel, merci bien pour le coups de main. mais je crois que j'ai pas fini de t'embeter ....
ce que je veut faire c'est que le texte séparé par des tabulation du fichier txt séléctionné soit collé dans la feuille donnée du classeur LOR02
j'ai essayé ça. Mais c pas jolie jolie et la fin est produite a partir de l'enregistreur de macro ...

public sub chargeConfig()

Dim chemin As String
Dim j As Byte
Dim cible As Byte
Dim NomFichier As String
Dim LongeurNom As Integer


chemin = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt")
If chemin = "Faux" Then Exit Sub
j = 1
Do Until j = 0
cible = j: j = InStr(j + 1, chemin, "\")
Loop

NomFichier = Right(chemin, Len(chemin) - cible)
chemin = Left(chemin, cible - 1)

ChDir chemin
Workbooks.OpenText Filename:= _
CStr(NomFichier), Origin:=xlWindows _
, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
Array(10, 1))

LongeurNom = Len(NomFichier) - 4
NomFichier = VBA.Left(NomFichier, LongeurNom)
Windows(CStr(NomFichier) + "xls").Activate ' a partir de la c de la macro
ActiveWorkbook.CELLS.Select
Selection.Copy
Windows("LOR02.XLS").Activate
Sheets("données").Select
Range("A1").Select
ActiveSheet.Paste

end sub


en tout cas déja merci pour le premier coupsd e main, ça me permet d'avancer !
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2