Macro Excel

Résolu
bebert7435
Messages postés
6
Date d'inscription
mercredi 8 février 2012
Statut
Membre
Dernière intervention
8 février 2012
- 8 févr. 2012 à 08:00
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 8 févr. 2012 à 11:11
heu je trouve pas le VBA/Excel... alors je retente sans aucune violence de reposer ma question pour une macro Excel

voilà je débute vraiment en code source et je suis sur excel au travail et j'aimerais modifier une macro que j'ai réalisé.
en effet j'ai utilisé le petit module enregistrer une macro de excel qui me génere donc une code vba si je me trompe pas.
ma macro a pour but d'ouvrir une 40aines de fichiers textes pour ensuite insérer les donner dans un tableau excel .

le soucis de ma macro c'est qu'elle n'ouvre qu'un seul fichier et j'aimerais qu'elle ouvre tous les fichiers présent dans mon répertoire.

COpie de ma Macro:

Sub Import()
'
' Import Macro
' Macro enregistrée le 08/02/2012 par Administrateur
'

'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\b.gaudiche\Bureau\054E\Archives temporaires\054E-001.txt" _
, Destination:=Range("B4"))
.Name = "054E-001"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 2
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("B5").Select
Selection.ClearContents
Range("C5").Select
Selection.ClearContents
Range("B7").Select
Selection.ClearContents
Range("C7").Select
Selection.ClearContents
Range("B9").Select
Selection.ClearContents
Range("C9").Select
Selection.ClearContents
Range("K9").Select
Selection.ClearContents
Range("B3").Select
ActiveCell.FormulaR1C1 = "1"
Range("B3:K9").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub


est ce possible? si oui comment?
est ce la solution d'utiliser l'enregistreur de macro?

merci de vos réponses


Bebert débutant et sur mac...

8 réponses

ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
8 févr. 2012 à 08:22
Bonjour,

On commence par deux petites choses :
1) on nettoie un peu tout cela . L'enregistreur de macro enregistre également les gestes, dont tu n'as pas réellement besoin !
2) on utilise les balises de code de ce forum (lisibilité du code) ===>>

With Worksheets("nom de ta feuille").QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\b.gaudiche\Bureau\054E\Archives temporaires\054E-001.txt" _
, Destination:=Range("B4"))
  .Name = "054E-001"
  .FieldNames = True
  .RowNumbers = False
  .FillAdjacentFormulas = False
  .PreserveFormatting = True
  .RefreshOnFileOpen = False
  .RefreshStyle = xlInsertDeleteCells
  .SavePassword = False
  .SaveData = True
  .AdjustColumnWidth = True
  .RefreshPeriod = 0
  .TextFilePromptOnRefresh = False
  .TextFilePlatform = 1252
  .TextFileStartRow = 2
  .TextFileParseType = xlDelimited
  .TextFileTextQualifier = xlTextQualifierDoubleQuote
  .TextFileConsecutiveDelimiter = False
  .TextFileTabDelimiter = True
  .TextFileSemicolonDelimiter = True
  .TextFileCommaDelimiter = False
  .TextFileSpaceDelimiter = False
  .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
  .TextFileTrailingMinusNumbers = True
  .Refresh BackgroundQuery:=False
  .Range("B5:C5").ClearContents
  .Range("B7:C7").ClearContents
  .Range("B9:C9").ClearContents
  .Range("K9").ClearContents
  .Range("B3").FormulaR1C1 = "1"
  .Range("B3:K9").Borders(xlDiagonalDown).LineStyle = xlNone
  .Range("B3:K9".Borders(xlDiagonalUp).LineStyle = xlNone
End With

'etc ... (je te laisse continuer ce petit nettoyage)


Je te laisse continuer ce débarbouillage et revenir avec ton résultat.

Tu en profiteras pour exposer de manière plus précise ce que tu entends par ailleurs par
ouvrir une 40aines de fichiers textes

bien que je devine qu'il ne s'agit que de les lister, puis de traiter en boucle chacun des éléments de la liste par ton code, tel quel

Et ta question première aurait donc du être tout simplement (avant même ton traitement) :
Comment lister les fichiers d'un répertoire (et c'est un sujet récurrent. Le moteur de recherche de ce forum te conduira à un nombre incalculables de discussions et codes).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
8 févr. 2012 à 09:01
Je te suggère déjà cette lecture :
Tapez le texte de l'url ici.
"Déroule" l'exemple de code.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
bebert7435
Messages postés
6
Date d'inscription
mercredi 8 février 2012
Statut
Membre
Dernière intervention
8 février 2012

8 févr. 2012 à 08:37
ok merci
je vais me débrouiller en lisant donc les discussions existantes


Bebert débutant et sur mac...
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
8 févr. 2012 à 08:54
Bien.
Mais je viens de voir ta signature et suis quelque peu inquiet :
Ton Excel (celui que tu utilises pour cette appli) est-il également sur MAC ?
Si oui : quelle version de Excel ?

Je n'ai jamais travaillé sur un Mac, mais crois avoir entendu dire :
- que pas de FSO sous Mac
- que la fonction Dir (seule utilisable alors) est moins performante que celle sur PC (longueur des noms de fichier limitée à environ 27 caractères, entre autres).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bebert7435
Messages postés
6
Date d'inscription
mercredi 8 février 2012
Statut
Membre
Dernière intervention
8 février 2012

8 févr. 2012 à 10:20
ALors ... je suis sur mac à la maison oui et je suis sur pc au bureau..
donc je galere un peu car j'essaye chez moi et je retente en galerant sur les pc....
mais merci quand meme


Bebert débutant et sur mac...
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
8 févr. 2012 à 10:39
donc je galere un peu car j'essaye chez moi et je retente en galerant sur les pc....

raison de plus pour éviter alors FSO comme la peste.
Concentre-toi sur l'utilisation de la fonction Dir

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
bebert7435
Messages postés
6
Date d'inscription
mercredi 8 février 2012
Statut
Membre
Dernière intervention
8 février 2012

8 févr. 2012 à 11:01
Merci mais c'est quoi cette FSO?
en fait je débute c'est a dire que je fais des enregistrements de macro et maintenant j'essaye de comprendre le languages et ainsi apprendre ce language...
voilà
mais je vais aller m'acheter un livre aidant sur le vba excel pour ne pas vous embeter

Bebert débutant et sur mac...
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
8 févr. 2012 à 11:11
FileSystemObject (du VBScript, quoi) instanciable et utilisable depuis VBA .
D'aucuns se régalent de son aspect pratique et de la facilité qu'il offre pour coder.
D'autres le fuient (lourdeurs ajoutées inutilement).
Mac ne saurait utiliser FSO en l'état actuel des choses.



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0