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

Tri de lignes sélectionnées

  • Initiateur de la discussion Initiateur de la discussion gwendy46
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gwendy46

Guest
Bonjour,

Je travaille sur l'importation de lignes Excel sur un autre classeur.
Plus précisément je voudrais que la macro retienne en memoire, les lignes sélectionnées, mais automatiquement trié et non pas dans l'ordre dans lequel j'ai sélectionné les lignes.
La macro suivante que j'ai faite, si je sélectionne la ligne 7 puis 10 puis 3, va me retenir:
ligne(1)=7
ligne(2)=10
ligne(3)=3

Or j'aurais voulu qu'il me mette:
ligne(1)=3
ligne(2)=7
ligne(3)=10

Le code est le suivant:

dim ligne(30000) as integer

For Each Rw In Selection.Rows
ligne_partage = Rw.Row
cpt = cpt + 1
ligne(cpt) = ligne_partage
Next


C'est une importante car comme après je vais supprimer chaque ligne sélectionnée, il va y avoir un décalage d'une ligne sur la feuille Excel, d'ou l'importance de l'ordre.
Je vous remercie vivement d'avance si quelqu'un aurait une solution, je galère depuis un moment pour trouver une solution.
 
Re : Tri de lignes sélectionnées

Bonjour gwendy46

Il te faut classer ton tableau ligne

Teste comme ceci

Code:
Dim ligne(30000) As Integer
For Each Rw In Selection.Rows
ligne_partage = Rw.Row
cpt = cpt + 1
ligne(cpt) = ligne_partage
Next
For n = 1 To UBound(ligne)
 For m = 1 To UBound(ligne)
  If ligne(m) > ligne(n) Then
   temp = ligne(n)
   ligne(n) = ligne(m)
   ligne(m) = temp
  End If
 Next m
Next n
'pour verifier l'ordre
For n = 1 To UBound(ligne)
 MsgBox (ligne(n))
Next n

Attention pour effacer il serait preferable d'avoir l'ordre descendant (remplacer > par <)

Bon courage pour tes 30000 selections
 
Re : Tri de lignes sélectionnées

🙂

J'ai du mettre moins de lignes pour tester 😀
Super Merci beaucoup Pierrejean, ca marche super.

Par contre c vrai que c'est plus pratique de mettre "<" à la place du ">" pour obtenir un ordre descendant et aussi de mettre

For n = 1 To cpt (pour vérifier l'ordre uniquement)
MsgBox (ligne(n))
Next n

Merci infiniment et bonne continuation
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
9
Affichages
1 K
N
Réponses
17
Affichages
3 K
ninajams
N
B
Réponses
2
Affichages
2 K
bastienb
B
J
Réponses
11
Affichages
2 K
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…