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 :

Classement par ordre alphabétique


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Classement par ordre alphabétique
    Bonjour,

    e suis étudiante en troisième année de génie civil et dans le cadre d'un projet, je dois établir un programme informatique. Malheureusement je suis novice en la matière, je m'aide de livres et des forum, mais je ne trouve pas réponse à toutes mes questions...


    J'ai crée une ComboBox. Pour incrémenter cette dernière, j'ai utilisé la méthode où les données sont figées et on les ajoute grâce à "additem".
    J'aimerais donc savoir s'il existe une solution pour classer par ordre alphabétique ?

    Voici comment se présente ma boite de dialogue et mon code

    Nom : Userform4.png
Affichages : 567
Taille : 29,3 Ko

    Nom : Additem.png
Affichages : 296
Taille : 5,7 Ko


    Merci par avance

    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    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
    Private Sub UserForm_Initialize()
    Dim T
    T = Array("Z", "Y", "X", "W", "V", "U", "T", "S", "R", "Q", "P", "O", "N", "M", "L", "K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A")
    Me.ComboBox1.List = TriTableau(T)
    End Sub
     
    Function TriTableau(T)
    Dim txt
    Dim I As Long
    For I = 1 To UBound(T)
        If T(I) < T(I - 1) Then
            txt = T(I - 1)
            T(I - 1) = T(I)
            T(I) = txt
            I = I - 2
            If I < 0 Then I = 0
        End If
    Next
    TriTableau = T
    End Function
    tu fais une petite erreur dans ton code!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Me.ComboBox1
        .AddItem
        .AddItem
       Me.ComboBox1.AddItem 'ça ça marche mais c'est inutile puisque tu fais un with!
    End With

  3. #3
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Code
    J'ai bien écrit le code que vous m'avez dit décrire mais voila ce que ça me donne dans ma liste déroulante ....
    je n'ai plus mes Additem mais les lettres A,B,C .....

    J'ai du me tromper quelque part mais je ne sais pas où ...

    Nom : code.png
Affichages : 383
Taille : 78,6 Ko
    Images attachées Images attachées  

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui c'est le problème des exemples, il est plus facile de les écrire que de partir d'un copier collé d'une image

    et si tu replaçais "Z","Y","W" par tes items et supprimais les AddItem qui ne servent plus à rien?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut code
    Ah d'accord désolée... je le saurais pour la prochaine fois

    Ah d'accord j'ai compris, je dois remplacer par mes valeurs... Mais le problèmes c'est que l'utilisateur peut ajouter des items à la liste ,à terme, en tapant dans le combobox sa valeur et en cliquant sur ajouter. Dans ce cas là le code que vous m'avez donner fonctionnera ?

    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    là l'utilisateur peux rajouter des items
    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
    Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim T()
    Dim Inx As Long
    Dim I As Long
    ReDim T(Inx)
    For I = 0 To Me.ComboBox1.ListCount - 1
        ReDim Preserve T(I)
        T(I) = Me.ComboBox1.List(I)
    Next
     
    If Trim("" & Me.ComboBox1.Text) <> "" Then
        ReDim Preserve T(I)
        T(I) = Trim("" & Me.ComboBox1.Text)
        Me.ComboBox1.List = TriTableau(T)
    End If
    End Sub

  7. #7
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Code
    Merci beaucoup pour votre aide

    Bonne journée

    Cordialement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par loucinev Voir le message
    Merci beaucoup pour votre aide

    Bonne journée

    Cordialement
    partager ta solution pourrait en aider d'autres

  9. #9
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Code
    Je suis entrain d'adapter votre code pour mettre dans l'ordre alphabétique

    je n'ai pas encore fini

    Code pour bouton ajouter :

    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
    Private Sub BuAjouter_Click()
    Dim ListItems()
    'si combo vide, ne fait rien!
    If CbDocType = "" Then Exit Sub
    'si le mot saisi dans la Combobox est un nouvel Item alors
    If CbDocType.ListIndex = -1 Then
        'code pour ajouter une proposition dans le menu déroulant
        Call NouvelItemCombo(CbDocType.Name, CbDocType.Value)
    End If
    Me.CbDocType.Clear
    Call ListItemCombo(CbDocType.Name, ListItems)
    'initialiser la liste
    With Me.CbDocType
        .List = ListItems
    End With
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OL-2010] Script de classement des règles par ordre alphabétique
    Par gabzh dans le forum VBA Outlook
    Réponses: 10
    Dernier message: 29/06/2021, 11h13
  2. [MySQL] Classement par ordre alphabétique et données de type SET
    Par JosephC dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/10/2014, 19h19
  3. Classement par ordre alphabétique ne fonctionne plus
    Par Alixam dans le forum Bibliographies - Index - Glossaires
    Réponses: 2
    Dernier message: 07/08/2012, 15h51
  4. Classement des éléments d'une liste par ordre alphabétique
    Par Cellendhyll82 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 15/11/2010, 10h11
  5. Classement par ordre alphabétique
    Par crovette51101 dans le forum Access
    Réponses: 5
    Dernier message: 20/12/2006, 14h13

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