Excel: Deplacer et re-arranger des feuilles
Résolu/Fermé
Chplain
Messages postés
2
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
3 juillet 2010
-
23 juin 2010 à 09:23
Chplain Messages postés 2 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 3 juillet 2010 - 3 juil. 2010 à 20:17
Chplain Messages postés 2 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 3 juillet 2010 - 3 juil. 2010 à 20:17
A voir également:
- Excel: Deplacer et re-arranger des feuilles
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
2 réponses
Chplain
Messages postés
2
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
3 juillet 2010
3 juil. 2010 à 20:17
3 juil. 2010 à 20:17
Michel, merci infinement
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
23 juin 2010 à 09:51
23 juin 2010 à 09:51
Bonjour
tri dans l'ordre décroissant de A5 dans feuil1,2,3....N
"liste" doit être en premier
demo:
http://www.cijoint.fr/cjlink.php?file=cj201006/cijLLXxaOe.xls
tri dans l'ordre décroissant de A5 dans feuil1,2,3....N
"liste" doit être en premier
Option Explicit Sub ranger() Dim tablo() Dim nbre As Byte, cptr As Byte, i As Byte, j As Byte, k As Byte Dim tmp0 As Double, tmp1 As String ' nombre de feuilles nbre = ThisWorkbook.Sheets.Count - 1 'construit un tableau 2 dimension et "nbre" d'éléments ReDim tablo(nbre - 1, 1) 'remplit le tableau avec le nom des onglets et la valeur en A5 Do Until cptr = nbre tablo(cptr, 0) = Sheets("feuil" & cptr + 1).Range("A5").Value tablo(cptr, 1) = Sheets("feuil" & cptr + 1).Name cptr = cptr + 1 Loop 'range le tableau dans l'ordre croissant de A5 For i = 0 To nbre j = i For k = j + 1 To nbre - 1 If tablo(k, 0) <= tablo(j, 0) Then j = k Next k If i <> j Then tmp0 = tablo(j, 0) tmp1 = tablo(j, 1) tablo(j, 0) = tablo(i, 0) tablo(j, 1) = tablo(i, 1) tablo(i, 0) = tmp0 tablo(i, 1) = tmp1 End If Next i 'fige défilement de l'écran Application.ScreenUpdating = False 'range les feuilles dans l'ordre décroissant de A5 cptr = 0 For cptr = 0 To UBound(tablo) Sheets(tablo(cptr, 1)).Move before:=Sheets(2) Next End Sub
demo:
http://www.cijoint.fr/cjlink.php?file=cj201006/cijLLXxaOe.xls