IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro ordonnancement excel [XL-2007]


Sujet :

Macros et VBA Excel

  1. #21
    Membre habitué
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2016
    Messages : 13
    Par défaut
    Je te remets les images dans l'ordre:

    Image 1: J affecte mes numéros en colonne A
    Image 2 : J e démasque mes lignes avec la macro AFFICHE.Pour vérifier que le numéro affecté soit reporté sur les sous lignes via les formules (colonne A sous groupes =colonne A ligne principale)
    Image 3: Je trie avec la macro tri.Et la ça bugge!!
    Images attachées Images attachées    

  2. #22
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je trie avec la macro tri. Et la ça bugge!
    je ne vois pas de bug sur mon fichier, essayes celui-ci auquel j'ai mis des numéros au hasard en A, pour chaque marque

    les ingrédients sont triés par marque et les marques sont triées par ordre alphabétique (col B)
    Fichiers attachés Fichiers attachés
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #23
    Membre habitué
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2016
    Messages : 13
    Par défaut
    Bonsoir,

    Parfaiiiiit,on y presque.Juste 3 choses :-quand je masque les sous lignes, le tri ne fonctionne plus et il me met le bug (voir image)
    -quand je change plusieurs l'ordre des numéros le tri fonctionne plus
    -est-il possible de mettre un tri croissant par code article (colonne f) quand il n'y a aucun numéro en colonne A.

    Voila le bug quand les lignes sont masquées
    Images attachées Images attachées  

  4. #24
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    bonsoir,
    pour ton premier problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Sub etablir()
    Dim A_trier As Range, ListeNoms As Object, Nom As String, Ingd As String
    Nom = ""
    Set ListeNoms = CreateObject("System.Collections.ArrayList") ' un "Arraylist pour trier plus facilement en bas du module
    ReDim Tb(1 To 1) 'j'initialise une variable tableau
    x = 0
    ActiveSheet.UsedRange.EntireRow.Hidden = False
    Dcol = Cells(5, Columns.Count).End(xlToLeft).Column ' on cherche la dernière colonne
    Ingd = Cells(5, Dcol)
    Set Dcel = Cells(Rows.Count, Dcol).End(xlUp) 'et la dernière cellule dans cette colonne
    For i = 5 To Dcel.Row 'on boucle sur cette colonne
      If Cells(i, Dcol).Value = Ingd Then 'on vérifie la cellule
        x = x + 1 'si vérifié, on incrémente x
        ReDim Preserve Tb(1 To x) 'on redimensionne le tableau
        Tb(x) = Cells(i, Dcol).Address 'et on donne l'adresse à l'élément du tableau
      End If
    Next i
    For i = 1 To UBound(Tb) - 1 'on boucle sur le tableau
      Set A_trier = Range(Range(Tb(i))(2, -Dcol + 2), Range(Tb(i + 1))(0, 1)) 'plage qui sera triée
      tri A_trier, Range(Tb(i))(2, 1) 'on va sur la procédure tri
      Nom = Split(Range(Tb(i))(1, -Dcol + 3), " ")(1) 'nom représente le mot après "Marque"
      ActiveWorkbook.Names.Add Name:=Nom, RefersTo:= _
          Range(Range(Tb(i))(1, -Dcol + 2), Range(Tb(i + 1))(0, 1)) 'on définit un nom pour la plage triée
      ListeNoms.Add Nom 'on ajoute ce nom à une "ArrayList"
    Next i
      'ci-dessous pour le dernier groupe
    Set A_trier = Range(Range(Tb(UBound(Tb)))(2, -Dcol + 2), Dcel)
    tri A_trier, Range(Tb(UBound(Tb)))(2, 1)
    Nom = Split(Range(Tb(UBound(Tb)))(1, -Dcol + 3), " ")(1)
    ListeNoms.Add Nom
    ActiveWorkbook.Names.Add Name:=Nom, RefersTo:= _
          Range(Range(Tb(UBound(Tb)))(1, -Dcol + 2), Dcel)
    '---------------------------------------------------------------
    Range(ListeNoms(0)).Cut Destination:=Cells(5, Dcol + 1) 'on déplace la 1ère plage (1er bloc) à droite de la dernière colonne  'et les autres au travers d'une boucle
    For i = 1 To ListeNoms.Count - 1
      Set Dcel = Cells(Rows.Count, Dcol * 2).End(xlUp)(2, -Dcol + 2)
      Range(ListeNoms(i)).Cut Destination:=Dcel
    Next i
      '-------------------------------------------------------------
    ListeNoms.Sort 'on trie les noms des blocs
    'Range(ListeNoms(0)).Cut Destination:=Range("A5") 'on remet le 1er bloc au début
      'et les autres au travers d'une boucle
    Set Dcel = Range("A5")
    For i = 0 To ListeNoms.Count - 1
      Range(ListeNoms(i)).Cut Destination:=Dcel
      Set Dcel = Cells(Rows.Count, Dcol).End(xlUp)(2, -Dcol + 2)
    Next i
    Masque_lg_230
    End Sub
    je ne comprends pas ci-dessous
    -quand je change plusieurs l'ordre des numéros le tri fonctionne plus
    et pour ci-dessous, tu veux me rendre fou
    -est-il possible de mettre un tri croissant par code article (colonne f) quand il n'y a aucun numéro en colonne A.
    je pense que tout ce que j'ai fait jusque là peut te permettre de comprendre la démarche alors il est temps de retrousser tes manches

    bonne nuit
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #25
    Membre habitué
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2016
    Messages : 13
    Par défaut
    Oui dsl et merci pour tout ce que tu as fait!!!

    Et je me suis trompé dsl, je voulais mettre quand je change plusieurs fois l'ordre des numéros que le tri ne fonctionne plus.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Graphe et Macro et Excel et VBA
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 18/11/2005, 18h24
  2. Activation des macros sous Excel
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/10/2005, 12h44
  3. macro sous excel
    Par julien13200 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2005, 16h49
  4. Macro dans excel permettant de voir si un fichier est ouvert
    Par VirginieGE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/08/2004, 08h51
  5. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo