Menu

Rechercher valeur puis copier/coller la ligne correspondante [Résolu/Fermé]

- - Dernière réponse :  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 !!!)
Afficher la suite 

3 réponses

Messages postés
15820
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
15 mai 2019
3622
0
Merci
Bonjour

pour essayer d'^tre efficace

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

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

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

Merci beaucoup !
michel_m
Messages postés
15820
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
15 mai 2019
3622 > Anaïs -
Bonjour

combien de lignes (environ) dans la réalité ?
Ca depend des fichiers, mais de 1000 à 65000 Lignes
Messages postés
15820
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
15 mai 2019
3622
0
Merci
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

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
512
0
Merci
Bonjour Anaïs,
bonjour michel_m,

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

A+
michel_m
Messages postés
15820
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
15 mai 2019
3622 -
Bonjour
filtre avancé: je me suis posé la question: ca marche sur Les 65000 lignes annoncées?
Gyrus
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
512 -
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+
michel_m
Messages postés
15820
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
15 mai 2019
3622 > Gyrus
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
-
OK, merci
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