VBA

Fermé
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014 - 19 mai 2014 à 15:50
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014 - 27 mai 2014 à 21:46
merci de bien m'aider d'obtenir une macro qui fait la séquence, d'autre façon qui fait la comparaison entre deux colonnes(A,B) pour faire trier ce tableau.
exemple:
colonne A: colonne B: colonne A:
230 16 231 16
270 20 231 16
231 15 solution souhaitable 231 17
230 19 230 19
231 16 230 16
231 17 270 20

c'est-à dire on classe la valeur la plus répétée ainsi de suit

37 réponses

smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
23 mai 2014 à 10:07
Bonjour,
oui ne sont pas importants mercii
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
23 mai 2014 à 11:11
Désolé pour le dérangement et merci par avance de me dire est-ce que vous pouvez le faire
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
23 mai 2014 à 11:21
Oui j'ai bientot Fini :)

Mais enfaite ce qui vous interesse c'est la macro ou juste le résultat ?
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
23 mai 2014 à 11:25
la macro qui donne le bon résultat car je vais l'utiliser pour d'autre liste :)
Cordialement
0

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

Posez votre question
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
23 mai 2014 à 13:34
Le problème c'est que c'est une macro difficile à adapter :)

C'est toujours les les colonnes A et B qui sont concernée ?

Combient de valeur au maximum dans la colonnes A tu as ?
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
23 mai 2014 à 13:47
tu peux prendre 500 comme valeur maximal
merci
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
23 mai 2014 à 14:38
Et donc les colonnes a ordoner sont toujours A et B ?
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
23 mai 2014 à 15:50
Oui je vais les faire dans deux colonnes constantes (A et B)
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
Modifié par skk201 le 23/05/2014 à 17:19
A la ligne 337 une des valeur de la colonne A = 0 Est-ce normal ?

Je le demande car ça crée une erreur, donc ci c'est normal je fait un manipulation pour éviter l'erreur, si non je laisse comme ça et je change la valeur

Et une dernière question :

Si un nombre X de la colonne A est lié au nombres : 1,2,3 dans la colonnes B

Est- ce que le résultat doit être :

Colonne A : X // X // X
Colonne B : 1 // 2 // 3

ou

Colonne A : X // X // X
Colonne B : 3 //2 // 1

ou peut importe ?

Colonne A : X // X // X
Colonne B : 2 // 3 // 1
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
23 mai 2014 à 17:25
oui c'est normal et pour le dernier question n'est pas important le classement c'est-à-dire soit 1//2//3 soit 3//2//1 soit 2//3//1
merci
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
24 mai 2014 à 14:18
Bonjour skk201
avez vous de nouveau pour la macro ?
Merci
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
25 mai 2014 à 15:50
Salut,
avez vous des idées??
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
25 mai 2014 à 19:15
Bonjour,

Pourquoi par macro ?
Il suffit d'ajouter une colonne nb en C avec : =NB.SI(A:A;A2)
Puis de trier par nb décroissant puis par CON_A

eric
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
26 mai 2014 à 09:52
Bonjour
la société m'obligé de faire une application sous macro
Merci
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
26 mai 2014 à 13:42
Bonjour,

Regarde si ça va :
Sub tri()
    Dim derlig As Long
    [C:C].Insert Shift:=xlToRight
    derlig = Cells(Rows.Count, 1).End(xlUp).Row
    Application.ScreenUpdating = False
    [C1] = "Nb"
    [C2].Resize(derlig - 1).FormulaLocal = "=NB.SI(A:A;A2)"
    [A:C].Sort Key1:=Range("C2"), Order1:=xlDescending, _
                   Key2:=Range("A2"), Order2:=xlAscending, _
                   Key3:=Range("B2"), Order3:=xlAscending, Header:=xlYes
    [C:C].Delete Shift:=xlToLeft
    [A1].Select
End Sub

https://www.cjoint.com/?DEAnPYksLyL

eric

0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
26 mai 2014 à 13:53
Bonjour
attends je vais le tester
Merci
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
26 mai 2014 à 14:01
lors de l'exécution du programme un erreur dans l'instruction suivante " [C2].Resize(derlig - 1).FormulaLocal = "=NB.SI(A:A;A2)" est affiché
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
Modifié par eriiic le 26/05/2014 à 14:13
Sur le fichier que je t'ai joint ???
Il faut que ton fichier ressemble au modèle que tu as fourni.
En quelle langue est ton excel ?
eric

edit : si tu es dans une autre langue que fr remplace par :
[C2].Resize(derlig - 1).Formula = "=COUNTIF(A:A,A2)"
Si toujours pb déposer le fichier
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
26 mai 2014 à 14:23
en Francais.
maintenant il me donne un erreur défini par l'application ou par l'objet or il ajoute (nb) en [C1] et les autres celules de [C] sont vides et les bordures sont supprimées
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
26 mai 2014 à 15:50
Je répète : Sur le fichier que je t'ai joint ???
Sinon déposer le fichier sur cjoint.com et coller ici le lien fourni.

eric
0
smitsh Messages postés 26 Date d'inscription lundi 19 mai 2014 Statut Membre Dernière intervention 27 mai 2014
26 mai 2014 à 16:05
https://www.cjoint.com/?DEAp6UyzNlG voila le lien de fichier
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
26 mai 2014 à 18:21
Tu n'y as même pas mis le code, comment veux-tu que je vois si c'est ici que tu fais une erreur ?
Pas d'erreur chez moi.
eric
0