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

Contribuez Discussion :

USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire.


Sujet :

Contribuez

  1. #21
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    le problème est que si je laisse un textbox date vide j'ai un message d'erreur "Erreur d’exécution '13' Incompatibilité de Type".
    Tu peux utiliser la fonction IsDate pour vérifier au préalable si le contenu du TextBox est bien une date
    Exemple simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     If IsDate(Me.TextBox1) Then
       Range("H2").Value = CDate(Me.TextBox1)
      Else
       Range("H2").Value = ""
     End If

  2. #22
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour Pascal,
    la ou je suis le plus gêné, c'est pour la gestion cp et villes j'ai un classeur qui le fait mais je n'ai pas pris le temps de le faire, pendant la transition 2015/2016 peut etre
    Je n'ai pas compris.

  3. #23
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour Philippe et le forum

    a ou je suis le plus gêné
    je ne suis pas vraiment gêné mais ce que je n'ai pas pris le temps de faire c'est de créer une feuille avec les cp et villes correspondantes en 2 colonnes
    puis de remplacer le Txtcp par une comboCP et remplacer le Txtville par une listbox afin de faire le choix du cp et dérouler les villes correspondantes dans la listbox

    voila bonne fêtes de fin d'année

    Pascal

  4. #24
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,
    Tout d'abord je tiens à remercier Philippe Tulliez pour son excellent travail tans dans la conception que dans l'explication.

    Je viens vers vous pour de l'aide sur le développement de ma feuille excel.

    Je n'arrive pas a modifier le code VBA pour obtenir, dans une case que l'on appellera "Famille", une liste de famille.

    Le but est de sélectionner, après avoir rentré le nom du fournisseur, les familles de produit qu'il propose, comme ci dessous:
    Nom : Feuille base de données.png
Affichages : 2926
Taille : 41,5 Ko

    Cette sélection devra se répertorier sous la forme de plusieurs lignes lors de la création du contact:
    Nom : Feuille base de données MULTI CHOIX.png
Affichages : 2617
Taille : 100,7 Ko

    Est-il possible de visualiser également le cBoMember en cascade : Fournisseurs et/ou Familles de fournisseur pour afficher la liste des contacts

    Je vous transmets le fichier en cours de modification.

    En espérant que vous pourriez m'aider,
    Je vous souhaites de bonnes fêtes !!!

    Anthony
    Fichiers attachés Fichiers attachés

  5. #25
    Membre averti Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 503
    Points : 305
    Points
    305
    Par défaut
    Bonjour
    tous d'abord Philippe Tulliez merci mille fois pour cette contribution qui va vraiment m'aider dans mon travail quotidien.
    par contre j'ai remarqué que le Ref dans excel (Exemple fournie) ne correspond pas a celui dans le formulaire, aussi après suppression d'un enregistrement il ne reprend pas le REF de l'excel.
    merci d'avance et a bientôt
    Cordialement

  6. #26
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    tous d'abord Philippe Tulliez merci mille fois pour cette contribution qui va vraiment m'aider dans mon travail quotidien.
    Merci pour ton appréciation.

    par contre j'ai remarqué que le Ref dans excel (Exemple fournie) ne correspond pas a celui dans le formulaire, aussi après suppression d'un enregistrement il ne reprend pas le REF de l'excel.
    Déjà évoqué dans ce fil #33 et correction apportée dans ma réponse (fil #34)

  7. #27
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour k6s33,
    Tout d'abord je tiens à remercier Philippe Tulliez pour son excellent travail tans dans la conception que dans l'explication.
    Merci pour ton appréciation à cette contribution

    Je n'arrive pas a modifier le code VBA pour obtenir, dans une case que l'on appellera "Famille", une liste de famille
    Cela sort un peu du sujet de cette contribution qui avait pour but de montrer comment effectuer une création, consultation, modification et suppression d'enregistrement d'une liste de données.
    Je ne pouvais pas prévoir tous les cas d'espèces.
    Je crois qu'il serait préférable d'ouvrir une nouvelle discussion sur le sujet même si tu fais référence à cette contribution.

    Pour te mettre sur la piste
    Si un fournisseur propose plusieurs produits, une ligne par fournisseur suffit. Tu prévois une cellule contenant tous les produits proposés séparé par un point-virgule (Exemple : Famille1;Famille5;Famille10)
    Pour la liste des produits proposés, utiliser un contrôle ListBox avec multi-sélection où on cocherait les produits proposés par le fournisseur lors de la sélection de l'enregistrement.
    En sélectionnant une famille on l'ajouterais aux autres éléments déjà présent et en le décochant on supprimerait cette famille de la cellule.

  8. #28
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut USERFORM CRUD - Version 3,2
    Bonjour,
    Voici une nouvelle version du contrôle UserForm (CRUD) tenant en compte les différentes questions et réponses apportées sur le sujet.
    La dernière modification (version 3,1) contient une cellule avec des éléments sélectionnés dans une liste de loisirs nommé lstHobby se trouvant dans une feuille nommée [ParamList]

    Les procédures ajoutées

    InitListBox Alimente le contrôle ListBox nommé lstHobby toutes les lignes de la liste nommée lstHobby (se trouvant dans la feuille ParamList) et est chargée lors de l'activation du UserForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub InitListBox()
     With Me.lstHobby
     .ColumnHeads = False: .ColumnCount = 1: .ColumnWidths = "3"
     .MultiSelect = fmMultiSelectMulti
     .ListStyle = fmListStyleOption ' case à cocher
     .RowSource = Range("lstHobby").Address(external:=True)
     End With
    End Sub
    JoinSelectedRows : Procédure qui renvoie dans une chaîne de caractères, les éléments sélectionnés dans le ListBox séparés par ;
    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
    Function JoinSelectedRows(objListBox As Control, Optional Separator As String = ";") As String
     ' Limite de la fonction
     '  Maximum de lignes sélectionnée 256
     ' Author : Philippe Tulliez (10/03/2013)
     ' Renvoie une chaîne de caractères des éléments sélectionnés
     '   dans le ListBox (argument objListBox)
     '   et séparé par le caractère défini par l'argument [Separator]
     ' Arguments
     ' objListBox  (Objet de type ListBox)
     ' [Separator] (string) par défaut ;
     Dim Tablo(), ColumnNumber As Byte, Elem As Byte, Ind As Byte
     If TypeName(objListBox) <> "ListBox" Then
      MsgBox "L'argument objLstBox (" & objListBox.Name & ") n'est pas un ListBox": Exit Function
     End If
     With objListBox
      For Elem = 0 To .ListCount - 1
       If .Selected(Elem) = True Then ' Teste si la ligne du ListBox a été sélectionnée
        ReDim Preserve Tablo(Ind)
        Tablo(Ind) = .List(Elem, ColumnNumber): Ind = Ind + 1
       End If
      Next Elem
     End With
     JoinSelectedRows = Join(Tablo, Separator) ' Valeur renvoyée
    End Function
    ListBoxSelected : Procédure qui modifie la propriété Selected de l'objet ListBox passé en argument de la fonction
    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
    Function ListBoxSelected(objListBox As Object, wRng As Range)
     ' Modifie la propriété Selected() de l'objet ListBox passé en argument
     ' Author : Philippe Tulliez (10/03/2013)
     ' Arguments
     '  objListBox (Objet de type ListBox)
     '  wRng (Objet de type Range) - Cellule contenant les éléments à sélectionner
     Dim Tablo(), Elem As Byte
     If TypeName(objListBox) <> "ListBox" Then
      MsgBox "L'argument objLstBox (" & objListBox.Name & ") n'est pas un ListBox": Exit Function
     End If
     With objListBox
      For Elem = 0 To .ListCount - 1
      .Selected(Elem) = (InStr(wRng.Value, objListBox.List(Elem)) > 0)
      Next
     End With
    End Function
    Les procédures qui invoquent les nouvelles fonctions

    Private Sub UserForm_Activate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     InitListBox  ' Initialisation du contrôle lstHobby (27/12/2015)
    Private Sub ReadRecord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ListBoxSelected Me.lstHobby, .Cells(RecordNumber, 6) ' 27/12/2015
    Private Sub WriteRecord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Cells(RecordNumber, 6) = JoinSelectedRows(Me.lstHobby) ' 27/12/2015
    Illustration
    Nom : UserForm CRUD version 3,1.png
Affichages : 2299
Taille : 64,9 Ko
    Classeur à télécharger
    [EDIT]
    Suite au problème rencontré à un référencement, j'ai placé une version 3.2 nettoyé de cette référence.
    Fichiers attachés Fichiers attachés

  9. #29
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Superbe réalisation, je vous félicite encore une fois.

    Je n'ai malheureusement pas pu tester cette nouvelle version car, sauf erreur de ma part, il apparaît le message d'erreur suivant à l'ouverture du formulaire:

    Nom : Lancement formulaire.png
Affichages : 2516
Taille : 47,0 Ko

  10. #30
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu es le deuxième à m'avoir indiqué ce problème, j'ai donc fait une recherche et voici la réponse http://www.developpez.net/forums/d63...e/#post3730063

  11. #31
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Tu es le deuxième à m'avoir indiqué ce problème, j'ai donc fait une recherche et voici la réponse http://www.developpez.net/forums/d63...e/#post3730063
    Philippe, il semble que tu est un problème avec la référence "Microsoft windonws commun controls" .. tu utiliserais une version dont le chemin d'acccès "C:\users\Corona\Application Data\Microsoft..." est inhabituel ... et c'est ce qui cause problème aux utilisateurs de ton fichier.
    Nom : PTulliezReferences.png
Affichages : 2560
Taille : 14,2 Ko

    la solution est que les utilisateurs de ton fichier décoche cette ligne commençant par "MANQUANT..." où mieux que tu change de référence dans ton fichier source ..

  12. #32
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour bbil, Philippe, k6s33 et le forum

    Merci bbil c'est exactement ce souci de référence manquante qui cause le bug, il fallait bien un oeil neuf pour trouver la solution
    et c'est aussi vrai dans le 1er classeur que je viens d'essayer

    Merci Philippe THULLIEZ pour tous les classeurs mis a dispositionpour moi c'est clos et résolu

    Pascal

  13. #33
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour Bbil,
    Philippe, il semble que tu est un problème avec la référence "Microsoft windonws commun controls" .. tu utiliserais une version dont le chemin d'acccès "C:\users\Corona\Application Data\Microsoft..." est inhabituel ... et c'est ce qui cause problème aux utilisateurs de ton fichier.
    Effectivement je l'ai vu hier après avoir envoyé ma réponse.
    Cette référence fait suite à un test que j'avais effectué sur ce même classeur en essayant le Contrôle ListView en lieu et place d'un ComboBox.
    L'installation de ce contrôle m'a déjà posé des problèmes il y a quelques années chez un client

    Je viens de remplacer le classeur de démonstration par la version 3.2

  14. #34
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Bonjour tout le monde,

    Le classeur fonctionne parfaitement ! Congrats Philippe Tulliez

    Nom : xigKrAa4T.gif
Affichages : 2460
Taille : 35,3 Ko

  15. #35
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour k6s33,
    Bonjour tout le monde,
    Le classeur fonctionne parfaitement ! Congrats Philippe Tulliez
    Merci pour le retour et pour tes congratulations.

  16. #36
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Bonjour Philippe,
    Bonjour le forum,

    J'espère que vous avez passé de bonnes fêtes et par la même occasion meilleurs vœux à tout le monde !

    Philippe, je reviens vers toi pour un problème technique sur la listbox des loisirs.

    Lors de la sélection des loisirs pour un contact, je ne choisis que Tennis de table.
    Je valide, mon contact est créé.
    Je reviens sur mon Userform pour modifier ce contact,
    Si j'ai un loisir qui s'appel par exemple Tennis, puis un autre Tennis de table, il apparaît de cocher Tennis de table et Tennis.

    Pourrais-tu me donner une solution pour remédier à ce problème stp ?


    Solution que j'imagine:
    Dans la feuille ParamList, un diminutif de chaque loisir.

    Par exemple
    Colonne A : le nom complet du loisir (Tennis); Colonne B : le diminutif (TNS)
    Colonne A : le nom complet du loisir (Tennis de table); Colonne B : le diminutif (TNSDT)

    Fonctionnement :
    Dans la Listbox, on retrouve bien le nom complet.
    Dans la base de données, on retrouve simplement le diminutif.

    Merci d'avance de votre aide.
    Anthony

  17. #37
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Bonjour tout le monde,

    La liste des loisirs se compose des 2 Loisirs suivant : Tennis de table et Tennis

    Lors de l'ajout ou de la modification d'un contact, nous sélectionnons :
    Tennis de table

    La ListBox de l'Userform est faussée car elle renseigne que le Contact "X" aime : le Tennis de Table et le Tennis

    Je pensais que la recherche se faisait mot par mot donc j'ai ajouter un "Diminutif" à chaque loisir (ex: Tennis = TEN et Tennis de table = TENDT)
    J'ai réalisé ce que j'imaginais dans le post précédent de la façon suivante :
    • Ajout d'une colonne Diminutif avant la liste des Loisirs
    • Agrandis la lstHobby pour prendre les deux colonnes
    • Modifier le code VBA au niveau de l'InitListBox


    Pour le code VBA j'ai simplement changer le numéro de la colonne afin que le loisir apparaisse de façon complet dans la ListBox mais qu'il s'inscrive en Diminutif dans la base de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub InitListBox()
     With Me.lstHobby
     .ColumnHeads = False: .ColumnCount = 2: .ColumnWidths = "3"
     .MultiSelect = fmMultiSelectMulti
     .ListStyle = fmListStyleOption ' case à cocher
     .RowSource = Range("lstHobby").Address(external:=True)
     End With
    End Sub
    Résultat : Le problème évoqué précédemment est toujours présent sur un nom de Diminutif commençant par les mêmes lettres.

    Je viens de réaliser que la recherche se faisait caractère après caractère.


    Je suis toujours à la recherche d'une solution qui prendrait en complet le mot complet du loisir afin de renseigner la ListBox sans erreurs.

    Merci d'avance, en espérant que vous pourrez m'aider.

  18. #38
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour Anthony,
    Effectivement, il y a un problème mais il se situe dans la fonction ListBoxSelected à la ligne 13.
    Le bug est dû au fait que j'utilise la fonction Instr et évidemment, la chaîne Tennis se trouve dans les deux loisirs concernés. Voilà ce qui arrive quand on développe trop vite.
    Je n'ai pas le temps pour l'instant de m'y pencher mais dès que j'aurai apporté la modification qui s'impose, je la publierai.
    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
    Function ListBoxSelected(objListBox As Object, wRng As Range)
     ' Modifie la propriété Selected() de l'objet ListBox passé en argument
     ' Author : Philippe Tulliez (10/03/2013)
     ' Arguments
     '  objListBox (Objet de type ListBox)
     '  wRng (Objet de type Range) - Cellule contenant les éléments à sélectionner
     Dim Tablo(), Elem As Byte
     If TypeName(objListBox) <> "ListBox" Then
      MsgBox "L'argument objLstBox (" & objListBox.Name & ") n'est pas un ListBox": Exit Function
     End If
     With objListBox
      For Elem = 0 To .ListCount - 1
      .Selected(Elem) = (InStr(wRng.Value, objListBox.List(Elem)) > 0)
      Next
     End With
    End Function

  19. #39
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En attendant la modification de la fonction ListBoxSelected
    Si la plage contenant la liste des loisirs a deux colonnes dont la première contient la référence et la deuxième colonne le libellé
    par exemple colonne A : Ping-Pong et colonne B Tennis de table
    Bien entendu dans la plage des données contiendra les références (1ère colonne) par exemple "Ping-Pong;Cinéma" mais la liste affichera Tennis de table et Cinéma
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub InitListBox()
     With Me.lstHobby
     .ColumnHeads = False: .ColumnCount = 2: .ColumnWidths = "0;60"
     .MultiSelect = fmMultiSelectMulti
     .ListStyle = fmListStyleOption ' case à cocher
     .RowSource = Range("lstHobby").Address(external:=True)
     End With
    End Sub

  20. #40
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Bonjour Philippe,
    En effet, le résultat est le même que celui que j'avais obtenu sur la dernière modifications.
    J'ai essayé de me pencher sur le problème de la chaîne, en vain ...

    Dans l'attente de ta solution, je te souhaite une bonne fin de journée.
    Anthony

Discussions similaires

  1. Userform : modifier et supprimer des enregistrements
    Par hylis dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/03/2015, 13h00
  2. [MySQL] supprimer des enregistrements de ma base
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/06/2006, 16h08
  3. Réponses: 3
    Dernier message: 13/06/2006, 15h16
  4. Réponses: 4
    Dernier message: 14/10/2005, 10h54
  5. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 17h41

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