Autres [XL2007] copier valeurs tableau cellules non vides triées

kif

XLDnaute Occasionnel
Bonjour La Team

Help please pour un pti code VBA


Ma problématique :

j'ai un tableau de 20 lignes A4:M23 sur ma feuille "RAM" je souhaite coller l'ensemble des valeurs des cellules dans les lignes dont les cellules en colonne M contient "OK"


Toutes ces lignes remplissant ces conditions sont à coller plus bas dans la feuille à partir de la cellule A35 mais sans la colonne M

avant il faut effacer toutes autres lignes antérieures si présentes dans ce nouveau tableau a partir de A35

et enfin les nouvelles lignes collées devront être à la suite de A35 (soit 20 lignes Max a partir de A35 si toutes les lignes de départ remplissent la condition "OK"

voila


Si prob je vous fait un fichier (que demain matin) mais à priori j'arrive à me relire ...mdr !


Merci d'avance de votre support

Franck
 

job75

XLDnaute Barbatruc
Bonjour kif, Phil69970, le forum,

Le VBA est inutile, des formules matricielles font l'affaire, en A35 :
Code:
=SI(LIGNE()-35<NB.SI($M$4:$M$23;"OK");INDEX(A$1:A$23;PETITE.VALEUR(SI($M$4:$M$23="OK";LIGNE($M$4:$M$23));LIGNE(A1)));"")
A+
 

Pièces jointes

  • test tabk.xls
    90.5 KB · Affichages: 3

job75

XLDnaute Barbatruc
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig&, r As Range
lig = 35
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
Rows(lig & ":" & lig + 19).ClearContents 'RAZ
For Each r In [A4:M23].Rows
    If UCase(r.Cells(13)) = "OK" Then Cells(lig, 1).Resize(, 12) = r.Value: lig = lig + 1
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Pièces jointes

  • test tabk (1).xls
    90.5 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 246
Membres
103 163
dernier inscrit
Pelaez