Probleme Tri vba
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Probleme Tri vba



  1. #1
    invite204ee98d

    Probleme Tri vba


    ------

    Bonjour,


    J'ai un soucis au niveau du tri dans mon programme, le tout compile mais ca ne tri pas. Je veux trier dans un premier les noms par ordre alphabétique se suivant de B3 à BX (X variable) puis si les noms sont les memes regarder les prenoms allant de C3 à CX. Le tout en déplaçant d'autres informations par chaque personne se trouvant dans les différentes colonnes.
    Par exemple : Dans B3 j'aurai Durand ; dans D3 Jean ; dans A3 son numero de carte dans E3 jusqu'à DN3 d'autres info le concernant.

    Merci de me répondre

    Code:
    Sub Macro3()
        Dim i As Long, DerLigne As Long
        Dim date1 As Date, date2 As Date
    
       
        ' On vide la liste
        UserForm1.ListBox1.Clear
        
        'On trouve la ligne à partir de laquelle il n y a plus d'informations
        Dernligne = Sheets("Liste des usagers").Range("B" & Rows.Count).End(xlUp).Row
        
        Sheets("Liste des usagers").Rows("3:100").Select
        Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range("C3") _
           , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _
           , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
           xlSortNormal
    
        
        For i = 3 To Dernligne
            date1 = DateSerial(Year(Now), Month(Now), Day(Now))     'On stocke l année, le mois, et le jour dans cette variable
            date2 = Sheets("Liste des usagers").Cells(i, 4).Value       'On stocke la date d expiration
            
            If date2 - date1 < 30 Then
                UserForm1.ListBox1.AddItem (Cells(i, 2) & " " & Cells(i, 3) & " Carte n° " & Cells(i, 1) & " ---> " & date2 - date1 & " " & "jour(s)")
                Rows(i & ":" & i).Select
                Selection.Font.ColorIndex = 3
            Else
                Rows(i & ":" & i).Select
                Selection.Font.ColorIndex = 1
            End If
            
        Next i
        
        UserForm1.Show  'On affiche le UserForm1
        
    End Sub

    -----

  2. #2
    invite204ee98d

    Re : Probleme Tri vba

    S'il vous plait de l'aide.

  3. #3
    invite204ee98d

    Re : Probleme Tri vba

    Nadie le sait ?

  4. #4
    Daranc

    Re : Probleme Tri vba

    je n'ai pas trop compris ta problématique, apparament tu travail sous excel
    j'ai "z'u" ( ) un problème de tri a un moment et j'en avai tiré une programme dont j'ai mit le code en ligne sur developpez.net
    ici
    http://www.developpez.net/forums/d61...vba-suite-fin/
    regardes si ça peut t'aider
    Cordialement
    Daranc
    La philo? Trop profond! et je suis sujet au vertige!

  5. A voir en vidéo sur Futura
  6. #5
    Optimix

    Re : Probleme Tri vba

    J'ai un soucis au niveau du tri dans mon programme, le tout compile mais ca ne tri pas
    VB n'étant pas un langage compilé, on ne peut pas parler de compilation, mais d'interprétation.
    Il est normal que le tri se fasse mal : si vous utilisez Header:=xlGuess au lieu de Header:=xlYes, tout devrait rentrer dans l'ordre.

    Deux remarques :
    - Très important : vous avez déclaré la variable Dim DerLigne as long et vous utilisez la variable DernLigne dans votre code. Donc vos déclarations ne servent strictement à rien. Si vous les faites sauter, le programme fonctionnera de la même manière, car votre VBA est mal paramétré. Lorsque vous êtes sous l'éditeur VB, allez dans Outils...Options...onglet "Editeur" et cochez la case "Déclaration des variables obligatoires". Cela ajoutera la ligne Option Explicit au tout début de votre code. Et si vous relancez votre macro, Excel vous signalera le bug au niveau des déclarations.
    - Sans importance : prenez l'habitude de mettre une minuscule comme première lettre dans le nom de vos variables et des majuscules dans le corps pour séparer les mots, afin de pouvoir les lire plus facilement. Cela va donner, par exemple, dernLigneDuTableau.

  7. #6
    invite204ee98d

    Re : Probleme Tri vba

    Merci ca fonctionne

  8. #7
    Optimix

    Re : Probleme Tri vba

    Alors bonne continuation.

  9. #8
    invite204ee98d

    Re : Probleme Tri vba

    Dernière chose, je comprends pas trop la différence entre xlYes et xlGuess, je sais seulement que xlYes c'est quand il y a un en tete, c'est a dire ?

  10. #9
    Optimix

    Re : Probleme Tri vba

    Avez-vous essayé de taper "xlGuess et xlYes" (15 secondes) sur Google avant de poser une question sur laquelle j'ai passé un bon quart d'heure avant de vous répondre ?

  11. #10
    invite204ee98d

    Re : Probleme Tri vba

    Oui j'ai essayé, je vous l'ai dit xlYes y'a un en tete l'autre c'est excel qui regarde si y'en a un.
    Mais c'est quoi un un tete pour une cellule

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/12/2012, 14h08
  2. Etude de fonctions et problème (qui me pose problème ahah)
    Par invitecf3c44f7 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 12/10/2011, 18h54
  3. problème d'équation et aussi un autre problème de maths
    Par invitefab47bfd dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 23/09/2009, 19h08
  4. probleme avec une asympote et une fonction exponentielle(Probleme d'enoncé?)
    Par invite3c19aac3 dans le forum Mathématiques du collège et du lycée
    Réponses: 15
    Dernier message: 04/12/2008, 17h26