> 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
14,90 €Windows 10 Pro 32/64 bits OEM à 14,90 €
Valable jusqu'au 26 Février

Le vendeur sérieux Digital FR propose sur Amazon la clé d'activation pour Windows 10 professionnel en français 32 bits / 64 bits à 14,90 €. Cette clé livrée par email fonctionne avec l'outil d'installation et de création de support de Microsoft que vous pouvez télécharger ici ou directement avec l'ISO de Windows 10 Pro. De quoi installer légalement Windows 10 Pro sur un PC. Pour en savoir plus sur l'achat et l'installation d'une clé OEM de Windows 10, suivez les indications de notre dossier pratique.


> Voir l'offre
203,01 €Disque dur externe Western Digital My Book 12 To USB 3.0 à 203,01 € livré
Valable jusqu'au 26 Février

Amazon Allemagne propose actuellement le disque dur externe Western Digital My Book 12 To USB 3.0 à 196,54 € (avec la TVA ajustée). Comptez 6,47 € pour la livraison en France soit un total de 203,01 € livré alors qu'on le trouve ailleurs à partir de 230 €. Avec ses 12 To et sa connectique USB 3.0 compatible USB 2.0, vous aurez de quoi stocker vos backup, vos films et vos photos, etc.  A l'intérieur, vous trouverez un disque à hélium UltraStar DC HC 520 White (12 To, 5400 tr/min, 256 Mo cache, CMR -> source satdream.tech). Le disque peut être démonté et réutilisé dans un ordinateur, un NAS, etc. Une très bonne affaire

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
GratuitJeu PC Rage 2 gratuit
Valable jusqu'au 25 Février

Epic Game Store offre actuellement le jeu PC Rage 2. RAGE 2 réunit deux grands studios : id Software, pionniers des jeux de tir à la première personne, et Avalanche Studios, experts des jeux en monde ouvert, pour vous offrir un carnaval de carnage dans lequel vous pouvez aller partout en faisant tout exploser sur votre passage.


> 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