rangement dans un tableau

  • Initiateur de la discussion Initiateur de la discussion gothc
  • 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

gothc

Guest
bonjour je cherche comment faire en vba pour faire le rangement d'une liste dans un tableau
en piéce jointe un example
merci d'avance
 
Salut,

Colles ce 1 er jet de code dans un module, il te reste à adpater et rajouter la gestion d'erreur.

Sub Princ()
Dim C As Range, PlageListe As Range, PLageCrit As Range
Dim L&, I&, T
Application.ScreenUpdating = False
T = Array(21, 18, 15) 'L'ordre du + grand au + petit est important, Col U, R et O
With Sheets("Feuil1")
Set PlageListe = Range(.[B23], .[K65536].End(xlUp)) ' à adapter
Set PLageCrit = .Range("O25:U" & Maxi(.Name, Array("O", "R", "U"))) ' à adapter
End With

With PlageListe
Range(.Columns(2), .Columns(7)).Clear 'Effacement de la plage résultat
For Each C In .Columns(9).Cells
L = RechUnique(PLageCrit, C.Value)
For I = 0 To UBound(T)
If T(I) = L Then
Range(C, C.Offset(0, 1)).Copy C.Offset(0, -(I + I + 3))
Exit For
End If
Next I
Next C
'Moyenne,à améliorer
.Cells(65336, 9).End(xlUp).Offset(1, -6).Value = Application.Average(.Columns(3))
.Cells(65336, 9).End(xlUp).Offset(1, -4).Value = Application.Average(.Columns(5))
.Cells(65336, 9).End(xlUp).Offset(1, -2).Value = Application.Average(.Columns(7))
End With
End Sub

Function Maxi(F$, T)
Dim I&
For I = 0 To UBound(T)
Maxi = Application.Max(Maxi, Sheets(F).Range(T(I) & "65536").End(xlUp).Row)
Next I
End Function

Function RechUnique&(Plage As Range, Valeur)
Dim C As Range
With Plage
Set C = .Find(Valeur, , xlValues, xlWhole)
If Not C Is Nothing Then RechUnique = C.Column
End With
End Function


A+++
 
- 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

Réponses
6
Affichages
267
Réponses
6
Affichages
124
Réponses
14
Affichages
226
  • Question Question
Microsoft 365 Lien vers pdf
Réponses
3
Affichages
151
Réponses
16
Affichages
406
Retour