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

Signaler
-
 Anaïs -
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 !!!)

3 réponses

Messages postés
16442
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 mai 2021
3 168
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

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

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

Merci beaucoup !
Messages postés
16442
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 mai 2021
3 168 > Anaïs
Bonjour

combien de lignes (environ) dans la réalité ?
Ca depend des fichiers, mais de 1000 à 65000 Lignes
Messages postés
16442
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 mai 2021
3 168
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
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
520
Bonjour Anaïs,
bonjour michel_m,

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

A+
Messages postés
16442
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 mai 2021
3 168
Bonjour
filtre avancé: je me suis posé la question: ca marche sur Les 65000 lignes annoncées?
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
520
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+
Messages postés
16442
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
1 mai 2021
3 168 >
Messages postés
3334
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