Compter le nombre de redondance maximum

Fermé
Erakmur - Modifié par Erakmur le 1/09/2011 à 14:57
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 8 sept. 2011 à 10:46
Bonjour,

Je travail sur Excel. Dans ma colonne A, j'ai des thermes qui se répètent régulièrement. Je voudrai extraire les 13 thermes les plus présents dans ma colonne A, les afficher dans ma colonne B et mettre dans ma colonne C le nombre de fois qu'ils sont présent dans A.

Cordialement

13 réponses

Désolé pépé, l'orthographe n'est pas mon fort mais je compense par d'autres qualités
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 7/09/2011 à 09:15
Bonjour,

1/ T'occupes pas trop des mouches du coche de ce forum: au besoin, parcoure le forum etregarde le niveau de leurs réponses : à défaut de pouvoir proposer généralement des solutions efficaces et vieillissant mal, elles jugent avec dédain les "forumeurs"

2/ j'avoue qu'il est difficile de t'aider sans voir ton classeur pour cela
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
Modifié par pépé35530 le 1/09/2011 à 15:16
Bonjour,

Activer une cellule de la colonne A
Cliquer sur Insertion, Tableau Croisé dynamique.
Dans la fenêtre qui s'ouvre, zone de droite, cocher le nom de la colonne afin de la faire apparaître dans la zone Etiquettes de lignes, faire ensuite glisser ce même nom dans la zone Somme Valeurs
on obtient la liste des mots dans la zone de droite avec le nombre correspondant.
Ensuite, on peut toujours faire un copier-coller des éléments du tableau obtenu dans une autre feuille afin de faire des tris ou des suppressions
En faisant un double-clic sur le total général, on obtient l'ensemble des termes classés par ordre alphabétique.

A+

pépé
0
cousinhub29 Messages postés 883 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 2 mai 2024 339
1 sept. 2011 à 15:27
Bonjour,

essaie avec ce code (attention, il peut y avoir des ex-aequo, donc tu peux te retrouver avec 14 ou plus termes...)

Sub les_13()
Dim Cel As Range
Dim Nbr As Object
Dim Lig As Long
Set Nbr = CreateObject("Scripting.Dictionary")
For Each Cel In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    Nbr.Item(Cel.Value) = Nbr.Item(Cel.Value) + 1
Next Cel
[D1].Resize(Nbr.Count) = Application.Transpose(Nbr.Items)
[C1].Resize(Nbr.Count) = Application.Transpose(Nbr.Keys)
Range("C1:D" & Nbr.Count).Sort Key1:=Range("D1"), Order1:=xlDescending
For Each Cel In Range("D14:D" & Nbr.Count)
    If Cel <> Cel.Offset(-1) Then Lig = Cel.Row: Exit For
Next Cel
Cells(Lig, 3).Resize(Nbr.Count, 2).Delete
End Sub


Bonne journée
0
Je pensais qu'on pouvait réaliser ceci avec une formule excel mais apparement c'est soit du VBA soit un tableau croisé dynamique... je ne peux pas me permettre de tomber dans de la complexité. Je vous remercie néanmoins.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
1 sept. 2011 à 16:16
Bonjour,

Il ne faut pas t'effrayer avec les TDC.
Si tu suis ce que j'ai posté, cela te prendra trente secondes.

A+

pépé
0
J'ai réussis le tableau avec la liste des thermes et le nombre de redondance. Mais cela ne me suffit pas, il faudrait pouvoir sélectionner les 13 plus grandes redondance avec les therme correspondant et pourvoir les copier en dehors du tableau. Tout ceci doit être automatique.
Cordialement
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
1 sept. 2011 à 18:20
Bonjour,

Il te suffit de copier le tableau dans une autre feuille, de faire un tri descendant sur la colonne de nombre et ensuite d'effacer les lignes qui ne t'intéressent pas. On peut aussi faire un tri sélectif en excluant certains éléments.
On peut faire une macro simple en utilisant l'enregistreur de macro.

A+

pépé
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
1 sept. 2011 à 19:19
Bonjour

sans VBA avec une colonne intermédiaire
https://www.cjoint.com/?3IbttaGDUtv
0
Bonjour,

Merci Michel, c'est exactement ce que je recherche mais je n'arrive pas à la faire fonctionner sur mon fichier. La colonne B fonctionne à merveille mais la colonne C et D ne fonctionne pas... J'ai juste remplacé les B en I et le fait que cela commence de 16 est finit à 1000. J'essaie de comprendre déjà ta formule.

Cordialement
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 5/09/2011 à 17:28
Bonjour,

le fait que ca marche pas chez toi vient du fait que qu commences en ligne 16

chez moi , je commençais en ligne2
=INDEX(A$2:A$101;EQUIV(GRANDE.VALEUR(B$2:B$101;LIGNE()-1);B$2:B$101;0))

devient en commençant en ligne 16
=INDEX(A$2:A$101;EQUIV(GRANDE.VALEUR(B$2:B$101;LIGNE()-15);B$2:B$101;0))


ligne() renvoie le n° de la ligne de la formule

tu dis.... :o)
0
Tu es génial ! J'ai finis ton oeuvre par =SOMME.SI($A$16:$A$1000;J16;$E$16:$E$1000) qui me permet d'additionner les heures associées à chaque therme. C'est la cerise sur le gâteau.

Comme tu as l'air de maîtriser le sujet, j'aurai d'autres questions (en espérant ne pas trop te déranger). J'ai réussi tout seul à faire des formules Excel de calcul de délais d'interventions (j'en suis très fière) mais je suis face à un problème inattendu.

Je dois simplement copier ce résultat dans un tableau avec les mois en ordonnée. Si je mets pour la case juillet =(la case du calcul) du délai il va bêtement me copier le résultat mais qu'en viendra le mois d'août, il va donc me copier le résultat pour le mois d'août mais me changer du coup le mois de juillet aussi puisque les 2 mois renvoies à la même case. Il me faudrait un moyen de figer le mois de juillet ou d'incrémenter directement d'une case.

On pourrait imaginer une formule qui détecte la première case vierge de ma colonne est me la complète ou alors qui détecte le mois en cours et me complète la case directement sur la cellule de droite de la case où est le mois.

Cordialement
0
Bonjour,

Je te transmets le dossier. Dans mon métier, je suis administrateur GMAO (gestion de la maintenance assisté par ordinateur). C'est un outil dont l'un des principaux intérêts et de permettre une vision globale aux clients de la maintenance technique (justifier l'argent qu'il dépense).

Dans cet optique, tous les mois, je leurs transmet un reporting maintenance dont voici une petite partie. Certaines données étant confidentielles, je t'ai juste gardé la partie qui nous intéresse.

Ce reporting, je l'ai créé de toute pièce il y a plusieurs mois mais depuis 2 semaines, je me lance dans son automatisation. Cela évite non seulement les erreurs d'un mauvais copier coller par exemple mais surtout, cela me fait gagner du temps sans compter que je vais pouvoir me la péter auprès de ma hiérarchie mais ca c'est autre choses... lol Jusqu'à ce fameux problème des 13 plus grand termes (pour pépé) à automatiser, j'ai réussi à faire tout par moi-même mais j'avoue qu'il y a des limites à mes connaissances.

Sur chaque onglet, j'ai mis tout un tas de formules et j'ai protégé la feuille sans mot de passe. Il t'est donc très facile de modifier tout ce que tu souhaites.

Néanmoins, le nerf de la guerre ce situe sur le dernier onglet ou la majorité des formules ont étaient intégrées pour l'automatisation et où j'ai mis tes fameuses formules.

En jaune, l'extraction de la GMAO. Le but est simple. Une fois l'extraction effectuée, je fais juste un copier coller dans mon reporting et tous les chiffres des onglets se complètes tout seul.

Le problème dont je t'ai parlé se trouve en P13. En J14, K14, L14 et M14 se trouve le résultat de ma formule Excel mais je suis incapable de la copier en C23, D23, E23 et F23 puisque la formule modifierait tous les mois en même temps et pas seulement le mois en cours. Le problème est le même pour l'onglet P16.

L'automatisation me permet également de progresser dans l'apprentissage d'Excel.

http://cjoint.com/?3IhkXAymVoR

Cordialement
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 sept. 2011 à 11:00
OK, merci,

je regarderai en fin d'après-midi ou demain matin
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 7/09/2011 à 17:19
re,

Le problème dont je t'ai parlé se trouve en P13. En J14, K14, L14 et M14 se trouve le résultat de ma formule Excel mais je suis incapable de la copier en C23, D23, E23 et F23 puisque...... Le problème est le même pour l'onglet P16.

sur l'onglet P13 je n'ai pas de formule en J14:M14....
copier en C23, D23, E23 et F23 sur quel onglet ???

puisque la formule modifierait tous les mois en même temps et pas seulement le mois en cours
???? je n'ai rien compris à ce que tu veux exprimer

dis toi bien que l'on a que ce que tu as écris pour essayer de t'aider d'autant plus que si tu toi, tu es dans problème, nous pas...

donc, prend du recul avant d'écrire et prend ton temps pour écrire et relis toi après une pause. pense comme si la réponse était à titre onéreux: tout oubli, ambiguité, donne lieu à des suppléments

dans l'attente
0
Sur la feuille P13 ligne 14, cellule J14 jusqu'à M14, tu as une série de chiffre 145, 10, 4 et 2.

Je souhaite que cette série de chiffre apparaisse en ligne 23 cellule C23, D23, E23, F23 sur la feuille P13.

Je pourrai très bien supprimer les chiffres de la ligne 14 est mettre directement le lien (lien qui se rapporte au dernier à la dernière feuille du classeur) dans les cellules C23, D23, E23, F23.

Si je fais directement le lien, un problème va se poser. Quand je vais refaire mon exportation pour le moi suivant, le moi d'avant va changer et cela biensur je ne le veux pas.

Pour le moment, je fais juste un copier coller des chiffres en ligne 14 sur la ligne des mois mais si on pouvait faire en sorte de figer le mois d'avant, cela permettrai d'automatiser à 100% le processus.

J'ai refais le fichier avec justement l'erreur à ne pas commettre. Change la cellule en J14 feuille P13 et la c'est la galère, juillet et août sont modifié en même temps alors que seul août doit être modifié, pas juillet. Le passé ne doit pas changer. Mais comme juillet est août se rapporte à la même cellule J14, je suis bloqué.

http://cjoint.com/?AIhsFwnorfp

Cordialement
0
Je pense à un truc avant de me coucher. Pour faire simple, je souhaite qu'en aout C24 soit remplie. Qu'en septembre, C25 soit remplie mais C24 ne change pas. Qu'en octobre, C26 soit remplie mais que C25 ne change pas. Qu'en novembre, C27 soit remplie mais C26 ne change pas et ainsi de suite tout ca en feuille P13.
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
8 sept. 2011 à 00:27
Salut le forum

As-tu vérifier ton lien :), il nous ramene sur une copie de la page du Forum.

Mytå
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
8 sept. 2011 à 09:11
Bonjour,

Je confirme ce qu'a écrit Myta (bonjour) :o)
0
http://cjoint.com/?3IijUdtN85o

Voila
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 8/09/2011 à 10:47
ci joint proposition à partir de ton premier envoi de pièce jointe
https://www.cjoint.com/?3IikAAdIotO
la cellule C1 de feuil1 est nommée "mois_an", un commentaire impose le mode de saisie avec format personnalisé "mmm aaa"
feuille P16 les données à reporter sont en ligne 14 comme sur son petit frère P13 (pourquoi était ce différent?)

des macros VBA font le travail afin de garder les résultats précédents. le déclenchement s'effectue lorsque tu saisis une nouveau mois en C1( pe: 1/7/11). il faut que les macros soient autorisées

pour voir les macros:
clic droit sur l'onglet "feuill1"en bas d'écran, visualiser le code
et pour voir la macro reporter_mois
Alt+F11 accès à Visual basic , la macro est dans le module 1
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
6 sept. 2011 à 16:02
Bonjour,

Sans être puriste, le h de therme me choque un peu.

A+

pépé
-2