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 :

[E-00] ordre dans une combobox


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut [E-00] ordre dans une combobox
    Bonjour,

    Je vous expose mon soucis :
    j'ai une combobox que je rempli avec une liste de fournisseur, et comme il y en a beaucoup je la tri par ordre alphabétique (avec le code pris sur la FAQ).
    Mais je souhaite rajouter en haut de ma combobox "TOUS" pour faire référence à toute la liste.

    Comment insérer "TOUS" en tête de liste et non pas à la fin ?

    j'ai essayé comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commaj.nomfournisseur.AddItem ("TOUS",0)
    mais ce n'est pas la bonne syntaxe (malgré ce que j'ai pu comprendre de l'aide )
    A lire :Les Règles

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    mis à par le fait qu'il te suffirait d'y ajouter " TOUS" plutôt que "TOUS" pour que le tri le laisse en haut ...


    Regarde ce que ferait cet ajout, après tri :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Combobox1.AddItem "coucou", 0

  3. #3
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonjour,

    mis à par le fait qu'il te suffirait d'y ajouter " TOUS" plutôt que "TOUS" pour que le tri le laisse en haut ...
    C'est pas bête ça !!! j'y avait pas pensé ...

    Cela dit,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Combobox1.AddItem "coucou", 0
    fonctionne.
    D'habitude je met des parenthèses c'est pourquoi je ne l'avais pas écrit comme cela.

    Merci de ton aide.
    A lire :Les Règles

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Oui les méthodes, procédures et fonctions ne compilent pas si tu écris les arguments entre parenthèses sans les affecter à une variable.
    J'ai passé plus d'une heure à déboguer la première fois avant de le comprendre...

  5. #5
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Citation Envoyé par decondelite Voir le message
    Oui les méthodes, procédures et fonctions ne compilent pas si tu écris les arguments entre parenthèses sans les affecter à une variable.
    Pourtant, un exemple pris au hasard dans mon code, donc fonction(truc, int) fonctionne très bien ...
    A lire :Les Règles

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Ce doit être uniquement les méthodes alors.
    Depuis que j'ai eu ce problème j'ai dû faire l'amalgame...

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par zandru Voir le message
    Pourtant, un exemple pris au hasard dans mon code, donc fonction(truc, int) fonctionne très bien ...
    Je suis étonné de lire que le code avec Left fonctionne... Cette ligne est en rouge et provoque une erreur...

    En fait, on peut appeler une procédure ou une fonction en utilisant les parenthèses lorsqu'il y a un et un seul paramètre... Dans les autres cas, il me semble que ça plante...

    En général, on utilise la procédure (ou la fonction en tant que procédure) sans parenthèse, et on utilise la fonction, obligatoirement avec parenthèses, pour retourner une valeur.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    C'est bien ce qu'il me semblait.

    Mais personnellement, par habitude dans d'autres langages, j'ai toujours eu le réflexe de mettre systématiquement des parenthèses quel que soit le nombre de paramètres. La galère quand je suis passé au VB...

  9. #9
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Je suis étonné de lire que le code avec Left fonctionne... Cette ligne est en rouge et provoque une erreur...
    Cette ligne est en rouge car il manque son environnement comme un with pour que le .list fonctionne.

    cela dit j'ai remarqué que tant que on ne renseigne que les premiers paramètre des fonctions, on peut garder les parenthèses. Mais dès que l'on omet un paramètre il faut les supprimer.

    Pour ma part j'utilise les parenthèses le plus souvent possible pour que ce soit plus lisible.
    A lire :Les Règles

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Non. je maintiens qu'il n'est pas possible d'utiliser
    . Le bloc With... End With n'y est pour rien. Donc, tu ne peux pas trouver une ligne de code qui commence par Left avec des parenthèses.... Tu peux avoir
    mais ce code ne sert à rien.

    cela dit j'ai remarqué que tant que on ne renseigne que les premiers paramètre des fonctions, on peut garder les parenthèses. Mais dès que l'on omet un paramètre il faut les supprimer.
    Ce n'est pas correct. Tu ne sais utiliser des parenthèses pour des procédures (ou des fonctions utilisées comme des procédures) que lorsqu'il y a un et un seul paramètre. 0 paramètres ou plus de 1 paramètres et tu as une erreur, paramètres omis ou non.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Je suis d'accord que seul ne sert à rien, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with userform.combobox
        If CInt(Left(.List(i), 3)) < CInt(Left(.List(J), 3)) Then
        code divers
    end with
    qui utilise des parenthèses pour les left fonctionne très bien (cela fait partie d'un de mes codes).

    pour que left("pierre",3) fonctionne, il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variablestring = left("pierre",3)
    de qui donne "pie" dans variablestring. et cela marche
    A lire :Les Règles

  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Ben, j'ai dit plus haut
    En général, on utilise la procédure (ou la fonction en tant que procédure) sans parenthèse, et on utilise la fonction, obligatoirement avec parenthèses, pour retourner une valeur.
    Donc, nous sommes d'accord.

    Je pensais que c'était clair...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [DOM] Changer ordre dans une combobox
    Par RobinNono dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/11/2008, 10h04
  3. Ordre d'ecriture dans une comboBox
    Par abbd dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/06/2008, 15h43
  4. Réponses: 2
    Dernier message: 14/09/2005, 13h39
  5. [VB+IE] Comment sélectionner dans une combobox d'une page IE
    Par danje dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/05/2005, 09h10

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