> Tous les forums > Forum Bureautique
 comment affecter une macro a un fichier excel ?
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
laucel1
  Posté le 15/03/2013 @ 18:30 
Aller en bas de la page 

Bonjour à vous toutes et tous ,

j'ai une macro sur un fichier excel 2007 qui me sert à trier les onglets par ordre

alphabetique, mais les onglets que je souhaite trier sont dans un autre fichier.

je suis obligé d'ouvrir les 2 fichiers a chaque fois .

j'ai créé un bouton macro dans la barre qui fonctionne tres bien mais seulement

quand le fichier "macro" est ouvert.

j'ai recherché dans ce forum pusieurs solutions mais sans succes.

je vous remercie par avance pour votre aide.

Publicité
MB24
 Posté le 15/03/2013 à 18:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour

Regarde là, tu trouveras surement des réponses : http://excel.developpez.com/faq/?page=Classeur

Cordialement

galopin01
 Posté le 15/03/2013 à 19:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Cette macro est dans un classeur qui ne contient "que des macros " (Un genre de Perso.xls ?)

A+

laucel1
 Posté le 15/03/2013 à 21:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page

galopin01 a écrit :

Bonsoir,

Cette macro est dans un classeur qui ne contient "que des macros " (Un genre de Perso.xls ?)

A+

Bonsoir , oui c'est un fichier que j'ai telechargé il y a quelques temps sur un site dédié à excel

dm-TrierOnglets.xls.

Il comporte quelques onglets et cette macro.

Merci

Anonyme
 Posté le 17/03/2013 à 09:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien
laucel1 a écrit :

Bonsoir , oui c'est un fichier que j'ai telechargé il y a quelques temps sur un site dédié à excel

dm-TrierOnglets.xls.

Il comporte quelques onglets et cette macro.

Merci

laucel1

peux tu nous dire ce qu'il y a(donc le texte) dans cette macro?

Comme cette macro te donne satisfaction,on peut copier "son texte" et affecter autrement cette macro a tous tes fichiers,ainsi qu'un bouton.

laucel1
 Posté le 17/03/2013 à 11:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page

Bonjour Reine claude

On m'a deja parlé du copier coller ,mais vu mon niveau je n'y suis pas arrivé.

Si tu peux me reexpliquer

je te remercie

il y deux pages dans la macro ,

la 1ere

Option Explicit

Sub TriOngletsViaGUI()

Load UF1
UF1.Show
End Sub

Sub TriOnglets()
TriLesFeuilles _
TriAscendant:=True, PremièreFeuille:=1, _
DernièreFeuille:=Worksheets.Count, _
SensibleALaCasse:=False, ParChiffres:=False
End Sub

et la 2eme

Sub TriLesFeuilles( _
Optional TriAscendant As Boolean = True, Optional PremièreFeuille% = 1, _
Optional DernièreFeuille% = 0, Optional SensibleALaCasse As Boolean = False, _
Optional ParChiffres As Boolean = False)

Dim i%, j%, NF%
Dim Noms() As String ' Noms des onglets
Dim Calc As Long

If DernièreFeuille% <= 0 Then DernièreFeuille% = Worksheets.Count
NF = 1 + DernièreFeuille - PremièreFeuille
If NF < 2 Then Exit Sub
ReDim Noms(1 To NF)
ReDim Arr(1 To NF)
For i = 1 To NF 'Récupère les noms et NomsdeTri associés
Noms(i) = Worksheets(PremièreFeuille + i - 1).Name
Arr(i) = NomDeTri(Noms(i), SensibleALaCasse, ParChiffres)
Next i
ReDim Idx(1 To NF) ' Liste des indices de 1 à NF
For i = 1 To NF
Idx(i) = i
Next i
QSort 1, NF, TriAscendant 'On trie les indices Idx
Erase Arr ' Plus besoin des NomsdeTri, Idx contient l'ordre
Calc = Application.Calculation ' Facultatif
Application.Calculation = xlCalculationManual 'Comme celle qui précède
Application.ScreenUpdating = False
For i = 1 To NF ' Place les feuilles en fonction du nouveau rang (indiqué par le tableau Idx)
Worksheets(Noms(Idx(i))).Move Worksheets(PremièreFeuille + i - 1)
Next i
Application.Calculation = Calc ' Comme les deux autres avant la boucle
Erase Noms: Erase Idx
End Sub

' Procédure QuickSort traditionnelle.
' Publiée par Jim Rech le 10/20/1998 sur Excel.Programming
' J'ai rajouté :
' 1-la possibilité de trier en ordre descendant.
' 2-l'utilisation du tableau Idx (comme Laurent Longre l'a fait)
' qui permet de permuter le tableau de pointeurs (Idx) au
' lieu de permuter les éléments (noms de tri mis dans Arr) eux-mêmes.
Private Sub QSort(bas1%, haut1%, Ascendant As Boolean)

Dim bas2%, haut2%, temp%, Pivot

bas2 = bas1
haut2 = haut1
Pivot = Arr(Idx((bas1 + haut1) \ 2)) ' Pivot à mi-parcours

While (bas2 <= haut2)
If Ascendant = True Then
While (Arr(Idx(bas2)) < Pivot And bas2 < haut1)
bas2 = bas2 + 1
Wend
While (Arr(Idx(haut2)) > Pivot And haut2 > bas1)
haut2 = haut2 - 1
Wend
Else
While (Arr(Idx(bas2)) > Pivot And bas2 < haut1)
bas2 = bas2 + 1
Wend
While (Arr(Idx(haut2)) < Pivot And haut2 > bas1)
haut2 = haut2 - 1
Wend
End If

If (bas2 <= haut2) Then ' permutations des indices
temp = Idx(bas2)
Idx(bas2) = Idx(haut2)
Idx(haut2) = temp
bas2 = bas2 + 1
haut2 = haut2 - 1
End If
Wend
If haut2 > bas1 Then QSort bas1, haut2, Ascendant
If bas2 < haut1 Then QSort bas2, haut1, Ascendant
End Sub

'==============================================

' Appel avec les renseignements de l'interface GUI
Sub TriQSFeuilles()
Dim PF%, DF%
PF = Application.Max(1, UF1.PremièreF)
DF = Application.Min(Worksheets.Count, UF1.DernièreF)
TriLesFeuilles _
TriAscendant:=UF1.TriAsc, PremièreFeuille:=PF, _
DernièreFeuille:=DF, SensibleALaCasse:=UF1.Casse, _
ParChiffres:=UF1.ParChiffres
End Sub

Bérylion
 Posté le 22/03/2013 à 15:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

salut la foule

juste en passant, voila un ''truc'' que j'ai adapté d'un certain Laurent L.

l'algo de tri est de lui, c'est devenue une macro complémentaire qui propose un tri des feuilles dans le menu contextuel des onglets, quelque soit le classeur actif.

http://cjoint.com/?CCwpKFU6cyy

enjoy...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
409,99 €NAS QNAP TS-251D 2 baies (dual core, 2 Go RAM) + 2 disques durs WD Red 4 To à 409,99 €
Valable jusqu'au 18 Octobre

Cdiscount propose actuellement le NAS QNAP TS-251D 2 baies accompagné de 2 disques durs WD Red 4 To à 409,99 €. On trouve l'ensemble ailleurs à partir de 500 €.

Ce NAS est parfait pour sauvegarder vos données. Vous pouvez accéder à distance à vos fichiers, et disposez même d'un cloud privé pour partager facilement vos documents avec vos proches. Grâce à ses 2 baies, vous pourrez étendre votre capacité de stockage ou bien sécuriser vos données en mettant en place un RAID.  Reposant sur un processeur Intel Celeron Dual-core 2 GHz et 2 Go de RAM, le TS-230 délivre de bonnes performances multitâches exceptionnelles (jusqu'à 113 Mo/s) et prend en charge le décodage matériel 4K (H.264) et le transcodage en temps réelCe NAS intègre en outre 2 ports USB 3.0 et deux ports Ethernet Gigabit et offre la possibilité d'un chiffrement matériel. Il dispose également d'un port HDMI pour diffuser du multimédia dans toute votre maison.

Les deux disques durs fournis sont des WD Red 4 To (soit 8 To au total) adaptés à un usage 24h/24 et 7j/7 dans un NAS.


> Voir l'offre
24,99 €Clé HDMI Fire TV Stick 2021 (Prime Video, Netflix, Disney+, Molotov, MyCanal sur votre TV) à 24,99 €
Valable jusqu'au 20 Octobre

Amazon fait une promotion sur sa nouvelle clé HDMI Amazon Fire TV Stick qui passe à 24,99 € au lieu de 39,99 €. Cette clé HDMI à brancher sur votre TV possède un processeur quadricoeur, 1 Go de RAM et 8 Go d'espace de stockage, le WiFi et le bluetooth. Avec elle, vous allez pouvoir voir facilement Prime Video, Netflix, Disney+, YouTube, Molovov, MyCanal, Spotify sur votre TV Full HD. Cette nouvelle version 2021 est compatible Alexa. Une télécommande avec des boutons pour contrôler également la TV est fournie. Elle possède des boutons pour un accès direct à Netflix, Prime Video, Disney Plus et Amazon Music.

Notez qu'il est possible de coupler un casque bluetooth avec le Fire TV Stick afin de regarder tranquillement la TV sans déranger vos proches.


> Voir l'offre
1279,99 €Ultrabook Lenovo Yoga Slim 7 Pro 14 pouces (2.8K IPS, R9-5900HX, 16Go RAM, SSD 1 To) à 1279,99 €
Valable jusqu'au 20 Octobre

Fnac fait une vente flash sur l'ordinateur portable Lenovo Yoga Slim 7 Pro 14 pouces proposé à 1279,99 € au lieu de 1749,99 €. Ce portable est bien équipé avec son écran 2.8K IPS (2880x1800), son processeur AMD Ryzen 9 5900HX, ses 16 Go de RAM, son SSD de 1 To, sa carte graphique intégrée Vega 8. Il possède le Bluetooth 5.1 et le WiFi 802.1 ax, 2 ports USB 3.2, 1 port USB C 3.2, une caméra HD. L'autonomie annoncée est de 14h et la charge rapide permet de le ramener à 50% de sa capacité en seulement 30 minutes. Il pèse 1,32 kg et tourne sous Windows 10 (upgradable à Windows 11).


> Voir l'offre

Sujets relatifs
Creation d' une boucle macro dans fichier EXCEL pour impression
Macro pour ouverture d'un fichier Excel
(Macro) Copier onglet sur autre fichier Excel (2007)
Excel 2007 Affecter bouton barre d'outils à macro.
EXCEL RECHERCHEV pour autre fichier. Macro?
Comment rétablir Excel suite à une macro malveill
Macro VBA à l'ouverture d'un fichier Excel
sous vista comment lire un fichier excel
Excel : affecter une macro à une touche par VBA
excel : macro pour enregistrer un fichier
Plus de sujets relatifs à comment affecter une macro a un fichier excel ?
 > Tous les forums > Forum Bureautique