Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro excel tri numérique

dfresh

XLDnaute Nouveau
Bonjour,
j'ai voulu utiliser les lignes de codes suivantes pour trier des feuilles excel selon le numéro que j'avais attribué à une cellule de mon classeur. Les numéros sont associés toujours dans la même cellule. Le problème c'est que ce programme me trie les valeurs selon le premier chiffre, je me retrouve donc avec le numéro 100 puis 1001 et en dernier j'ai le numéro 99 par exemple. Je suis nul en progammation visual et je voudrais savoir si quelqu'un pourrait m'aider pour modifier les lignes de codes que j'utilise.
Cordialement.

Sub ma()
'Sub TrierOnglets()
Dim i&, j&, Dat(), v1$, v2$
ReDim Dat(1 To Sheets.Count, 1 To 2)
For i = 1 To Sheets.Count
Dat(i, 1) = UCase(Sheets(i).[R2].Value): Dat(i, 2) = Sheets(i).Name
Next i
For i = 1 To Sheets.Count
v1 = Dat(i, 1): v2 = Dat(i, 2)
For j = 1 To Sheets.Count
If Dat(j, 1) < v1 Then Dat(i, 1) = Dat(j, 1): Dat(j, 1) = v1: v1 = Dat(i, 1): Dat(i, 2) = Dat(j, 2): Dat(j, 2) = v2: v2 = Dat(i, 2)
Next j
Next i
For i = 1 To Sheets.Count
Sheets(Dat(i, 2)).Move before:=Sheets(1)
Next i
End Sub
 

bond

XLDnaute Occasionnel
Re : macro excel tri numérique

J'avoue que j'ai un peu de mal à lire/comprendre ton sub, mais peut être une piste en requalifiant les variables v1 et v2 en numérique :
Code:
v1&, v2&
 

dfresh

XLDnaute Nouveau
Re : macro excel tri numérique

je pense qu'il faudrait dire au programme de trier d'abord tous les nombres à 1 chiffre puis tous les nombres à 2 chiffres jusqu'au nombre à 4 chiffres. Est ce que quelqu'un sait faire cela?
 

dfresh

XLDnaute Nouveau
Re : macro excel tri numérique

Je te remercie mais ce changement créé une incompatibilité de type avec le programme. Je mets le meme type de fichier en ligne pour que cela soit plus clair. Je voudrais trier les onglets par rapport aux numéros de la cellule R2.
 

Pièces jointes

  • fiche.xls
    261 KB · Affichages: 54
  • fiche.xls
    261 KB · Affichages: 49
  • fiche.xls
    261 KB · Affichages: 50

bond

XLDnaute Occasionnel
Re : macro excel tri numérique

ça semble fonctionner en changeant uniquement le type de la variable v1 : v1&
donc remplace
Code:
Dim i&, j&, Dat(), v1$, v2$
par
Code:
Dim i&, j&, Dat(), v1&, v2$
 

Discussions similaires

Réponses
11
Affichages
373
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…