XL 2010 Ouvrir fichier dans repertoire par defaut

TVulcain

XLDnaute Nouveau
Bonjour

J'aimerais ouvrir un fichier xls à partir de ma macro lancé par mon application

avec Workbooks.Open Filename:="Export.xls" manifestement il ne connait pas le chemin pour l'ouvrir.
Je voudrais l'ouvrir à partir du même répertoire que mon application et pourtant ne spécifiant pas de chemin je pensais que cela allait se faire par defaut.
merci
 

TVulcain

XLDnaute Nouveau
Non je me suis mal exprimé, quand je dis le boulot c'est rendre anonyme le fichier
et pour le code oui c'est toi, excellent mais comme tu dis pas facile par message et pour avoir ce que je voulais en faite il suffisait de supprimer le critère et ça je ne savais pas. et sans ton code, je n'aurais jamais trouvé
Désolé pour la confusion
 

Staple1600

XLDnaute Barbatruc
Re,

On n'a pas besoin d'un fichier complet
Mais d'un fichier allégé illustrant la problématique rencontrée.
En l’occurrence ici, si j'ai bien compris, une feuille avec des données à filtrer sur une plage de cellules qui va de la colonne A à la colonne I.
Dans ce cas, c'est facile de joindre un classeur avec une seule feuille ;)
Kado Bonus, une macro pour t'inspirer à créer de la donnée anonyme ;)
(à tester sur une feuille vide)
VB:
Sub créer_données_TEST_II()
[A1] = "ITEM1": [A1].AutoFill Destination:=[A1:I1], Type:=0
[A1:I1].Font.Bold = True
Application.ScreenUpdating = False
[A2:I100] = "=ADDRESS(ROW(),COLUMN(),4)": [A2:I100] = [A2:I100].Value
[A1].CurrentRegion.Borders.LineStyle = 1
End Sub
 

TVulcain

XLDnaute Nouveau
Oui c'est vrai, étant dans mon truc je n'ai pas pensé aussi simple comme fichier.
Merci pour la macro
Rien qu'avec tes conseils en tri et le filtre (sans passer par l'enregistreur) je passe de 2mn à 4s en traitement sur mon fichier, alors tu vois un peu, énorme et cela sur un fichier de plus de 15000 lignes.
 

Staple1600

XLDnaute Barbatruc
Re

Pour un fichier plus étoffé, on peut aussi utiliser les possibilités offertes par Excel
(la recopie incrémentée)
VB:
Sub PourTest()
Dim t, tt
t = Array("NOM1", "PRENOM1", "RUE DES 1", "ADRESSE1", "CPOSTAL1", "VILLE1", "NUMTEL1", "FAX 1", "EMAIL 1")
tt = Array("NOM", "PRENOM", "VOIE", "ADRESSE", "CODE POSTAL", "VILLE", "TELEPHONE", "FAX", "EMAIL")
Application.ScreenUpdating = False
[A1:I1] = tt: [A2:I2] = t
Range("A2:I2").AutoFill Destination:=Range("A2:I150"), Type:=xlFillDefault
[A1].CurrentRegion.Borders.LineStyle = 1
Rows(150).Columns.AutoFit
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Je t'ai précédemment mis dans ta discussion des exemples de code remanié qui évite les Select
Il suffit de suivre la même logique dans le code VBA de ton dernier message...

Exemple
Ceci
VB:
Sub Macro7()
'
' Macro7 Macro
' Thierry

'
    Columns("C:C").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Columns("D:D").Select
    Selection.Delete Shift:=xlToLeft
    Columns("I:I").Select
    Selection.Delete Shift:=xlToLeft
'...suite du code
End Sub
se remplace par
VB:
Sub Macro7()
' Macro7 Macro
' Thierry
    Columns("C:C").Delete Shift:=xlToLeft
    Columns("D:D").Delete Shift:=xlToLeft
    Columns("I:I").Delete Shift:=xlToLeft
'....suite du code
End Sub
Donc à toi de jouer pour le remaniement ;)
 

TVulcain

XLDnaute Nouveau
Une petite question pourquoi que (là ok)
Columns("E:E").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove


Ne donne pas la même chose que : celui ci ne fonctionne pas
Columns("E:E").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo