Rechercher valeur puis copier/coller la ligne correspondante

Résolu/Fermé
Anaïs - 19 août 2015 à 22:40
 Anaïs - 20 août 2015 à 16:09
Bonjour !!

Alors voilà, après plusieurs (heures de) recherches, mon dernier espoir est ici.

Je travaille dans un tableau excel avec plusieurs colonnes (nb non variable) et plusieurs lignes (là le nombre est variable).

Certaines de ces lignes ont une valeur 0 en colonne G (par exemple) (suite à une formule que j'ai appliquée pour afficher la valeur 0). Je souhaiterai créer une macro qui, dans une nouvelle feuille excel:

1) Compte le nombre de ligne total du tableau, le nombre de ligne où le 0 apparrait et faire le rapport en pourcentage. (Ca je devrais m'en sortir, j'ai les bonnes formules pour calculer tout ca)

2) Recopie les lignes où la colonne G est égale à 0 tout en enlevant les lignes blanches dans le nouveau tableau (j'aurais alors un nouveau tableau avec mes lignes où la colonne G est égale à 0 à la suite les une des autres, et pas des lignes séparées du nombre de lignes où la colonne G n'est pas égale à 0)

3) Une colonne comporte le nombre de jours de retard de paiement. Je voudrais donc que la macro calcul les quartiles de l'ensemble des jours de paiement, puis me fasse un pourcentage du nombre de ligne dans chaque quartile.

Je m'y connais un peu en VBA, mais c'est loin d'etre la folie.

Je peux mettre en ligne un fichier test si je n'ai pas été assez claire.

Merci de votre réponse rapide, c'est plutot urgentissime (rapport à rendre pour ... euh attendez voir, hier il me semble .... Please help !!!)
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 août 2015 à 08:35
Bonjour

pour essayer d'^tre efficace

Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse
Dans l'attente

0
Bonjour ! Voici le lien, si besoin plus d'explications, n'hésitez pas !

http://www.cjoint.com/c/EHugUfo3l2g

Merci beaucoup !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310 > Anaïs
20 août 2015 à 09:00
Bonjour

combien de lignes (environ) dans la réalité ?
0
Ca depend des fichiers, mais de 1000 à 65000 Lignes
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 août 2015 à 10:39
re,

ci dessous code prévu pour le nombre de lignes indiqué dans ton message
sans l'histoire des quartiles qui me rappelles quelquechose de ma jeunesse: j'ai horreur des stats et donc explique moi si ca te parait difficile à insérer dans le code (à moins que tu le fasses par formule)

la bête:
Option Explicit
Option Base 1
'----------------------------------------------------------------------
Sub Transferer_sans_zero()
Dim Derlig As Long, T_init, Nbre As Long
Dim T_zero, Idx As Long, Lig As Long, Col As Byte


'--------- Initialisations
Application.ScreenUpdating = False 'fige l'écran:confort et rapidité
With Sheets("feuil1")
'mémorise le tableau initial
Derlig = .Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
T_init = .Range("A3:F" & Derlig)
'construit une variable tableau de taille sans les zéros col F
Nbre = Application.CountIf(.Range("F3:F" & Derlig), 0)
ReDim T_zero(UBound(T_init) - Nbre, 6)
End With

'-----------remplissage de T_zero
Lig = 1
For Idx = 1 To UBound(T_init)
If T_init(Idx, 6) <> 0 Then
For Col = 1 To 6
T_zero(Lig, Col) = T_init(Idx, Col)
Next
Lig = Lig + 1
End If
Next

'----------------- restitution tableau sans zéro dans feuille 2
With Sheets("feuil2")
.Range("A3").Resize(UBound(T_zero), 6) = T_zero
.Range("A3:F" & UBound(T_zero) + 2).Borders.Weight = xlThin
.Columns("A:F").Columns.AutoFit
.Activate
End With
End Sub

0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 août 2015 à 11:27
Bonjour Anaïs,
bonjour michel_m,

Une autre proposition avec un filtre avancé
https://www.cjoint.com/c/EHujzGDCEWg

A+
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 août 2015 à 11:32
Bonjour
filtre avancé: je me suis posé la question: ca marche sur Les 65000 lignes annoncées?
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 août 2015 à 11:45
Re-bonjour,

Cela ne doit pas poser problème.
J'ai fait le test sur une plage source de 1 048 576 lignes et un résultat de 70 000 lignes.

A+
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310 > Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016
20 août 2015 à 13:39
OK, merci
0
Merci à vous c'est génial ! Je me suis débrouillé pour les quartiles et tout ca, et j'ai fait la macro avec les filtres, c'était en fait tout bete, j'me sens un peu ridicule ! Mais le travail est fait, je vais pouvoir rendre mon rapport !!

Merci et bonne soirée
0