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

selection de cellules en fonction de conditions

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

M

Mimouz

Guest
Bonjour a tous,

Dans le cadre de mon travail, j'ai un tableau avec 5 colonne, (IDPOSTE, Temps de boot, SITE, DEPARTEMENT et direction régionale).

Je vous dans un deuxième onglet choisir une DR puis que cela m'affiche pour cette DR, les 25 postes les plus rapides a démarrer et les 25 plus lents

Je dois dire que je bloque un peu, mes connaissances en excel sont assez limités

Merci pour votre aide

voir le fichier excel en piece jointe
 

Pièces jointes

Re : selection de cellules en fonction de conditions

Bonjour.
Cela vous ennuierait-il que le choix se fasse dans un petit userform ?
Dans quel ordre souhaiteriez vous qu'ils apparaissent ?
 
Re : selection de cellules en fonction de conditions

helas je ne sais pas ce qu'est un useform et je ne connais pas ses possibilites

pour l'ordre, je prefererais classe par ordre croissant de temps

merci a toi
 
Re : selection de cellules en fonction de conditions

Bonjour le Forum,
Bonjour Mimouz,

Un essai en fichier joint par formule matricielle

il faut valider la formule en appuyant simultanément sur CTRL, Maj (au dessus de CTRL) et entrée, si ta formule est bien validée excel va mettre de lui même le signe { devant le égal et le signe } en fin de formule.

Cordialement

EDIT : Bonjour Dranreb
 

Pièces jointes

Re : selection de cellules en fonction de conditions

Un premier jet de ce que je pensais faire, sans userform finalement, juste un ComboBox (liste déroulante modifiable) où on peut très bien taper quelque chose. Pour l'instant il liste tout. Je vais le perfectionner pour qu'il n'affiche que les 25 1ers et derniers. Ne faudrait-il pas une séparation entre les deux ?

Bonjour Jocelyn

Voilà. le plus simple c'était une action à la fin de la procédure pour n'extraire que les 25 1er et 25 derniers s'il y en a + de 50 avec une ligne vide les séparant.
À +
 

Pièces jointes

Dernière édition:
Re : selection de cellules en fonction de conditions

Merci a vous,

vos deux solution sont ce que je cherchais mais j'ai omis de vous dire que la liste import est a prendre sur les 65000 car pour vous envoyer les donnees j'ai du le vider un peu

il faudrait aussi pour la liste des temps minimum ne pas tenir compte des temps a 0 qui ne sont pas representatif

en tout cas un grand merci c'est du bon boulot
 
Re : selection de cellules en fonction de conditions

En fait la quantité de données dans le tableau est variable a plus ou moins 35000 près

je sais ce n'est pas évident. 🙂
 
Re : selection de cellules en fonction de conditions

Alors ma version qui ignore les valeurs à 0 dans la colonne B.
Comme la 1ère version, elle s'applique sur l'intégralité de la plage utilisée de la feuille Import.
 

Pièces jointes

Re : selection de cellules en fonction de conditions

Bonjour Mimouz, salut Jocelyn, Dranreb,

Une autre solution VBA, avec une liste de validation :

Code:
Private Sub Worksheet_Activate()
'crée la liste des DR, sans doublons
Dim tablo, d As Object, t
tablo = Sheets("Import").Range("E2", Sheets("Import").[E65536].End(xlUp))
Set d = CreateObject("Scripting.Dictionary")
For Each t In tablo
  If t <> "" Then d(t) = ""
Next
[J2].Resize(d.Count) = Application.Transpose(d.keys)
Range("J" & d.Count + 2 & ":J65536").ClearContents
[J2].Resize(d.Count).Sort [J2], Header:=xlNo 'tri
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'liste les 25 plus petits et 25 plus grands boottimes
If Intersect(Target, [D1]) Is Nothing Then Exit Sub
Dim v As String, tablo, i As Long, t(), n As Long
v = [D1]
tablo = Sheets("Import").Range("A2:E" & Sheets("Import").[B65536].End(xlUp).Row)
For i = 1 To UBound(tablo)
  If tablo(i, 5) = v And tablo(i, 2) > 0 Then
    ReDim Preserve t(4, n)
    t(0, n) = tablo(i, 1)
    t(1, n) = tablo(i, 2)
    t(2, n) = tablo(i, 3)
    t(3, n) = tablo(i, 4)
    t(4, n) = tablo(i, 5)
    n = n + 1
  End If
Next
Application.ScreenUpdating = False
[A4:E65536].ClearContents 'RAZ
If n Then
  Range("A4:E" & n + 3) = Application.Transpose(t)
  Range("A4:E" & n + 3).Sort [B4], Header:=xlNo 'tri
End If
If n > 50 Then Range("A29:E" & n - 22).Delete xlUp
End Sub
Noter qu'avec Application.Transpose on ne peut pas dépasser 65536 lignes.

Fichier joint.

A+
 

Pièces jointes

Dernière édition:
Re : selection de cellules en fonction de conditions

Bonjour Messieurs,

de retour au boulot!!!

est il possible dans un soucis de lisibilite, de separer les valeur minimum des maximum par une ligne?
ou faire 2 colonne, 1 pour les mini et une pour les maxi


A Job75: A quoi sert la colonne Liste DR(à masquer)
 
Re : selection de cellules en fonction de conditions

Ce message annule le précédant, je n'avais pas tester avec l'intégralité des données

Dranreb,

je viens de tester avec 17000 lignes, cela fonctionne impeccable
Peut on nommer mettre les entêtes au deux tableau et ajouter le titre pour savoir a quoi ils correspondent

Puis le faire moi même en décalant les tableaux ou bien va gêner quelque chose dans la macro?
 
Re : selection de cellules en fonction de conditions

Bonjour.
Ma macro les sépare par une ligne vide, mais seulement quand il y a plus de 50 lignes.

Ah; pas vu la réponse entre temps.
Bien ! À partir du moment où vous n'intervenez qu'à la fin, lors de l'affectation des tableaux au cellules, sans oublier de repasser devant les 25 derniers, il ne devrait pas y avoir de problème pour disposer tout ça comme vous voulez.
 
Dernière édition:
Re : selection de cellules en fonction de conditions

merci a vous tous et surtout pour votre réactivité
Dranreb, je vais utilisé ton fichier. Un grand merci a toi!!!


ca fait plaisir de voir que mon problème en a intéressé certain.
avec tout ca je pense que je devrais m'en sortir
 
Re : selection de cellules en fonction de conditions

Bonjour Mimouz, Dranreb,

Une autre solution qui utilise le filtre automatique :

Code:
Private Sub Worksheet_Activate()
'crée la liste des DR, sans doublons
Dim tablo, d As Object, t
tablo = Sheets("Import").Range("E2", Sheets("Import").[E65536].End(xlUp))
Set d = CreateObject("Scripting.Dictionary")
For Each t In tablo
  If t <> "" Then d(t) = ""
Next
[M2].Resize(d.Count) = Application.Transpose(d.keys)
Range("M" & d.Count + 2 & ":M65536").ClearContents
[M2].Resize(d.Count).Sort [M2], Header:=xlNo 'tri
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'liste les 25 plus petits et 25 plus grands boottimes
If Intersect(Target, [D1]) Is Nothing Then Exit Sub
Dim n As Long
Application.ScreenUpdating = False
[A4:K65536].Clear 'RAZ
With Sheets("Import").Range("A1:E" & Sheets("Import").[B65536].End(xlUp).Row)
  .AutoFilter 5, [D1]
  .AutoFilter 2, ">0"
  With .SpecialCells(xlCellTypeVisible)
    .Copy [A3]
    n = .Cells.Count / 5
  End With
  .Parent.AutoFilterMode = False
End With
Range("A3:E" & n + 2).Sort [B3], Header:=xlYes 'tri
If n > 51 Then
  Range("A29:E" & n - 23).Delete xlUp
  [A29:E53].Cut [G4]
End If
End Sub
Le résultat est sur 2 tableaux, comme demandé.

Fichier (2).

A+
 

Pièces jointes

Re : selection de cellules en fonction de conditions

Merci a toi aussi Job,

c'est tout a fait ce que je cherchais mais les gens de la haute dans ma boite veulent maintenant faire des regroupements

j'attends qu'ils se decident sur un projet final et je vous recontacte

une chose est sur vu ce que vous avez réussi a faire, cela donne envie de se perfectionner sur Excel et le vba
 
- 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

S
Réponses
9
Affichages
1 K
S
S
Réponses
5
Affichages
1 K
Slickbooty
S
M
Réponses
7
Affichages
2 K
MacGruber
M
H
Réponses
6
Affichages
4 K
Helios67
H
J
Réponses
6
Affichages
4 K
joelle2302
J
G
Réponses
5
Affichages
2 K
G
Y
Réponses
2
Affichages
5 K
yannoch
Y
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…