Macro de mise en page conditionelle

tinbo

XLDnaute Nouveau
Bonjour le forum,

Grace a votre aide j'ai enfin finis mes feuilles de traitement de donnees...

Merci beaucoup ;)


Malheureusement, je bloque sur la derniere ligne droite.:(

Aujourd hui je dois ouvrir le fichier texte, le mettre en forme et enfin le copier coller sur la premiere feuille de mon classeur de traitement.


Je souhaiterai savoir s'il etait possible de le faire automatiquement ?:confused:

c est a dire qu excel serait capable de reconnaitre automatiquement le fichier ( attention le fichier a un nom changeant ) de le mettre en page et de lui applique le traitement.

Pour Info le contenu du fichier texte commence toujours par [Info].
Tous mes calculs sont fait a partir une feuille nomme "Datas"

J ai joint un tit fichier pour montrer le modele.

Merci d avance pour votre aide

Bonne journee
Tinbo
 

Pièces jointes

  • Tinbo.zip
    3.4 KB · Affichages: 33

tinbo

XLDnaute Nouveau
Re : Macro de mise en page conditionelle

:D BRAVOOO SERGIO !!!!!

la macro marche impec !!'

je t applaudit des deux mains !!!

Dommage qu il n y a pas d icone pour applaudir pour ce grand service !!

j arrive toujours pas a affecte une macro au bouton, chui trop nul !!!!

Petite question, j ai vu dans ton programme qu il faut rentrer le chemin ou se trouve le classeur de traitement

Y a t il y une commande qui va le rechercher sur le disque dur ??

Comme ca cela permet de laisse libre la personne de le mettre ou il veut !!

Merci encoreeeeee pour ton aide !!!!!!

Tres bonne journee

Tin Bo :D :D :D
 

tinbo

XLDnaute Nouveau
Re : Macro de mise en page conditionelle

Sergio,

aye clique gauche, ca marche impec !!

Donc reste plus qu a me dire si on est oblige d affecte le chemin d ou se trouve le fichier ???

ou y a une commande a rajouter dans ta macro qui peut se charger de le trouver automatiquement ??

Tin Bo
 

SergiO

XLDnaute Accro
Re : Macro de mise en page conditionelle

Re,

Ca y est, j'ai réussi à intégrer ta dernière requête. :)

Dans l'exemple ci-dessous, la macro recherche le fichier Tinbo&VBA2.xls sur le disque C.

De cette façon, l'utilisateur peut placer son fichier là où il veut : la macro se charge de le retrouver.

Remplace le nom de ton fichier de traitement et éventuellement le nom du disque.

Code:
Option Explicit

Function ChercheFichier(Fichier As String)
With Application.FileSearch
.NewSearch
.LookIn = "[COLOR=Red]C:[/COLOR]"
.Filename = "[COLOR=Lime]Tinbo&VBA2.XLS[/COLOR]"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute() > 0 Then ChercheFichier = .FoundFiles(1)

End With
End Function
Sub Importation_Txt()
Dim MonFichier_Traitement As String
Dim Nom_Fichier_Txt As String
       
If Range("A1").Value = "[Info]" Then

    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=True, OtherChar:= _
        "=", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _
        TrailingMinusNumbers:=True

Range("F1:" & "A" & Range("A65536").End(xlUp).Row).Select
Nom_Fichier_Txt = ActiveWorkbook.Name
Selection.Copy

MonFichier_Traitement = ChercheFichier("[COLOR=Lime]Tinbo&VBA2.XLS[/COLOR]")
Workbooks.Open Filename:=MonFichier_Traitement

Sheets("datas").Select
ActiveSheet.Paste Destination:=Range("A1")
Application.CutCopyMode = False
Sheets("Port Configuration").Select

Workbooks(Nom_Fichier_Txt).Close (False)
  
Else

MsgBox "Ce fichier n'est pas exploitable !"

End If

End Sub
 

tinbo

XLDnaute Nouveau
Re : Macro de mise en page conditionelle

Trop trop fort,:cool:

Bon maintenant je veux que Ta macro me fasse la vaisselle, le cafe le matin, la poussiere... C est dans tes cordes ???:p

J ai donc teste ta derniere version et au moment ou j'ecris ces lignes, c est encore entrain de chercher...

j imagine que si le DD fait 200 Go, la fonction va me faire tout le disque avant de trouver... Donc tres mauvaise idee de ma part...:mad:

Par contre j'en ai une qui peut aussi etre utile a tout le monde et va falloir que tu m'aides encore, parce que j'ai bien beau lire tes lignes, y a des trucs qui m echappent mechamant....:eek:


Est ce qu'il serait possible qu'il demande d'ouvrir classeur de traitement,

donc:
Fichier = Application.GetOpenFilename("Fichiers Texte (*.xls), *.xls")

le garde en memoire et il ne me remande ca seulement si je l'ai deplace

De meme pour le nom du fichier ?

Comme ca, ca laisse une totale liberte a l utilisateur sans devoir retouche la macro si on veut changer quelque chose.

Ca je pense que ca peut etre utile pour tout ceux qui manipule plusieurs classeurs.

Premiere fois ou on lance ta macro:
1 - Demande d' Ouverture du classeur de traitement
2 - Garde le chemin et le nom en memoire
3 - reste de la macro

deuxieme fois:
1- Test pour savoir si le classeur de macro est il toujours a la meme place ?
2 - Si oui continuer la macro
3 - Si Non redemander le chemin...

Qu en penses tu ????

Bonne Journee

Tin Bo
 

SergiO

XLDnaute Accro
Re : Macro de mise en page conditionelle

Bonjour Tinbo,

Voici la version du jour :D avant ton nouveau cheminement.

Le fichier de traitement peut être maintenant déplacé et/ou renommé.

Le fichier joint est à mettre dans le Répertoire XLSTART (comme le fichier PERSO.XLS) pour qu'il s'ouvre en même temps qu'Excel.

Le chemin est :

C:\Documents and settings\nom d'utilisateur\Application data\Microsoft\Excel\XLSTART

Tu peux d'ailleurs enlever la macro dans Perso.xls, elle ne sert plus à rien.

Il ne reste plus qu'à affecter ton bouton à cette nouvelle macro et le tour est joué :).

J'attends de tes nouvelles...
 

Pièces jointes

  • Traitement_Txt.XLS
    32.5 KB · Affichages: 38

tinbo

XLDnaute Nouveau
Re : Macro de mise en page conditionelle

Salut Sergio,

bon euh:eek: ....:eek: bah ca marche j en reviens pas !!!!

J en suis degoute de ne pas savoir programmer jusqu a ce niveau...

Encore merci de ta patiente et de ton aide !!!!!

Je vais attentivement lire tes lignes de code pour essayer de comprendre..

Pureee, ca marche grave meme...:eek:

Bon week end et merci encore....
 

SergiO

XLDnaute Accro
Re : Macro de mise en page conditionelle

Re Tinbo,

Merci, mais aucune raison d'être dégoûté !!!

Il y a encore quelques mois, je n'y connaissais rien au VBA.

Je m'y suis intéressé grâce à ce site génial où l'on trouve tout sur Excel .

Je suis certain que ce code peut être améolioré et simplifié mais il fonctionne et c'est déjà ça.

Alors, lance toi et tu verras qu'à ton tour que tu commenceras à programmer quelques lignes et que tu progresseras rapidement.

@ bientôt.
 

Discussions similaires

Statistiques des forums

Discussions
312 843
Messages
2 092 754
Membres
105 522
dernier inscrit
Alex.benand