Tri d'un fichier excel sans l'ouvrir

Le
Michel MORICE
Bonsoir à tous.

Quelqu'un aurait'il la gentillesse de m'aider ?
J'ai besoin de trier un fichier Excel, mais sans l'ouvrir visuellement.
Est-ce possible ?
J'ai essayé le prog suivant mais je récupère mon fichier vidé de tous ses
éléments !!!

Sub TriBase()
Set FicBase = GetObject(NomFichierXls)
With FicBase.Worksheets(1)
.Activate
.Cells.Select
Selection.Sort Key1:=.Range("AM2"), Order1:=xlAscending,
Key2:=.Range("L2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom
End With
FicBase.Save
FicBase.Close
Set FicBase = Nothing
End Sub

Merci

Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #5087771
Salut à toi

Lorsque tu exécutes ce code tu ouvres un fichier en mode masqué dans excel
Tu effectues les instructions et tu enregistres l'ensembles des
modifications réalisées y compris le mode masqué
Conséquence à l'ouverture suivante le mode masqué de ce document est maintenu
donc bienqu'ouvert tu ne le vois pas

2 solutions

soit aprés son ouverture tu le démasques ainsi :

Fenêtre/Afficher
Sélectionne ton document et OK

soit tu rajoutes la ligne de commande suivante dans ta macro :

Windows("Document.Xls").Visible = True

Document.xls étant le nom de ton fichier

Ce qui donne le code final :

Sub TriBase()
Set FicBase = GetObject(NomFichierXls)
With FicBase.Worksheets(1)
.Activate
.Cells.Select
Selection.Sort Key1:=.Range("AM2"), Order1:=xlAscending,
Key2:=.Range("L2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom
End With
Windows("Document.Xls").Visible = True
FicBase.Save
FicBase.Close
Set FicBase = Nothing
End Sub

Celà devrait répondre à ton attente

Dis moi !!!


Bonsoir à tous.

Quelqu'un aurait'il la gentillesse de m'aider ?
J'ai besoin de trier un fichier Excel, mais sans l'ouvrir visuellement.
Est-ce possible ?
J'ai essayé le prog suivant mais je récupère mon fichier vidé de tous ses
éléments !!!

Sub TriBase()
Set FicBase = GetObject(NomFichierXls)
With FicBase.Worksheets(1)
.Activate
.Cells.Select
Selection.Sort Key1:=.Range("AM2"), Order1:=xlAscending,
Key2:=.Range("L2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom
End With
FicBase.Save
FicBase.Close
Set FicBase = Nothing
End Sub

Merci

Michel





mormic
Le #5386091
Bonsoir FFO

Merci beaucoup pour tes explications claires et précises.
Je me doutais un peu de cela car je voyais le fichier dans l'explorateur
Windows mais rien n'apparaissait lorsque j'ouvrais le fichier.
Je vais de suite ajouté cette instruction.
Merci encore
@+

Michel

"FFO"
Salut à toi

Lorsque tu exécutes ce code tu ouvres un fichier en mode masqué dans excel
Tu effectues les instructions et tu enregistres l'ensembles des
modifications réalisées y compris le mode masqué
Conséquence à l'ouverture suivante le mode masqué de ce document est
maintenu

donc bienqu'ouvert tu ne le vois pas

2 solutions

soit aprés son ouverture tu le démasques ainsi :

Fenêtre/Afficher
Sélectionne ton document et OK

soit tu rajoutes la ligne de commande suivante dans ta macro :

Windows("Document.Xls").Visible = True

Document.xls étant le nom de ton fichier

Ce qui donne le code final :

Sub TriBase()
Set FicBase = GetObject(NomFichierXls)
With FicBase.Worksheets(1)
.Activate
.Cells.Select
Selection.Sort Key1:=.Range("AM2"), Order1:=xlAscending,
Key2:=.Range("L2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase: > _
False, Orientation:=xlTopToBottom
End With
Windows("Document.Xls").Visible = True
FicBase.Save
FicBase.Close
Set FicBase = Nothing
End Sub

Celà devrait répondre à ton attente

Dis moi !!!


Bonsoir à tous.

Quelqu'un aurait'il la gentillesse de m'aider ?
J'ai besoin de trier un fichier Excel, mais sans l'ouvrir visuellement.
Est-ce possible ?
J'ai essayé le prog suivant mais je récupère mon fichier vidé de tous
ses


éléments !!!

Sub TriBase()
Set FicBase = GetObject(NomFichierXls)
With FicBase.Worksheets(1)
.Activate
.Cells.Select
Selection.Sort Key1:=.Range("AM2"), Order1:=xlAscending,
Key2:=.Range("L2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase: > > _


False, Orientation:=xlTopToBottom
End With
FicBase.Save
FicBase.Close
Set FicBase = Nothing
End Sub

Merci

Michel







Publicité
Poster une réponse
Anonyme