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 :

listbox en chaine [XL-2007]


Sujet :

Macros et VBA Excel

  1. #21
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 200
    Points : 14 346
    Points
    14 346
    Par défaut
    Essaie comme ça pour ListBox1 et fais pareil pour les deux autres :

    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
        With Me.ListBox1
            y = Ligne
            For I = 0 To .ListCount - 1
            If .Selected(I) = True Then
            y = y + 1
            With Range("B" & y)
                .Value = .List(I)
                With .Font
                    .Name = "Calibri"
                    .Size = 9
                    .Bold = True
                    .ThemeColor = xlThemeColorLight2
                    .TintAndShade = 0
                End With
            End With
        End With
        End If
        Next I
        End With
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  2. #22
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    cela ne fonctionne pas, erreur sur .Value=.list(1)

    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
       With Me.ListBox1
            y = Ligne
            For I = 0 To .ListCount - 1
            If .Selected(I) = True Then
            y = y + 1
            With Range("B" & y)
                .Value = .List(I)      
               With .Font
                    .Name = "Calibri"
                    .Size = 9
                    .Bold = True
                    .ThemeColor = xlThemeColorLight2
                    .TintAndShade = 0
                End With
            End With
        
        End If
        Next I
        End With

  3. #23
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 200
    Points : 14 346
    Points
    14 346
    Par défaut
    Poste le classeur, tu as tout cassé et je ne retrouve plus mes petits.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  4. #24
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    Voici le fichier demande.
    cris
    Fichiers attachés Fichiers attachés

  5. #25
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 200
    Points : 14 346
    Points
    14 346
    Par défaut
    Ecoute, j'ai déjà passé beaucoup de temps sur ce classeur. Où faut-il copier le contenu des listboxes ? Quelle feuille ? Quelles colonnes. Donne-moi un exemple de choix et où je dois les copier.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  6. #26
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    bj et merci daniel de ton temps.
    en cliquant sur le bouton de la feuille 1, la macro se deroule normalement
    et copie les données dans la feuille1 a partir de la colonne B12.

    cris

  7. #27
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 200
    Points : 14 346
    Points
    14 346
    Par défaut
    Voila pour l'écriture sur la feuille. Note que le fait d'utiliser l’événement "Change" au lieu de l'enregistrement "Exit" fait que tu déclenches cet événement autant de fois que tu fais de sélections dans la listbox. Ce qui multiplie d'autant le nombre d'items dans les listboxes suivantes.

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Private Sub CommandButton1_Click()
    'Sheets("feuil3").Activate
    Dim I As Integer, y As Integer
        Set sh = Sheets("Feuil1")
        y = sh.[B:B].Find("*", , , , xlByRows, xlPrevious).Row
        With Me.ListBox1
            For I = 0 To .ListCount - 1
            If .Selected(I) = True Then
                y = y + 1
                sh.Range("B" & y).Value = .List(I)
                With sh.Range("B" & y).Font
                    .Name = "Calibri"
                    .Size = 9
                    .Bold = True
                    .ThemeColor = xlThemeColorLight2
                    .TintAndShade = 0
                End With
        End If
        Next I
        End With
     
        With Me.ListBox2
            For I = 0 To .ListCount - 1
            If .Selected(I) = True Then
            y = y + 1
            sh.Range("B" & y).Value = .List(I)
            With sh.Range("B" & y).Font
                .Name = "Calibri"
                .Size = 9
                .Bold = True
                .ThemeColor = xlThemeColorLight2
                .TintAndShade = 0
            End With
            End If
            Next I
        End With
     
        With Me.ListBox3
            For I = 0 To .ListCount - 1
            If .Selected(I) = True Then
            y = y + 1
            sh.Range("B" & y).Value = .List(I)
            With sh.Range("B" & y).Font
                .Name = "Calibri"
                .FontStyle = "Normal"
                .Size = 9
                .ThemeColor = xlThemeColorAccent1
                .TintAndShade = -0.249977111117893
            End With
            End If
        Next I
        End With
     
        For I = 0 To Me.ListBox1.ListCount - 1
        Me.ListBox1.Selected(I) = False
        Next I
        For I = 0 To Me.ListBox2.ListCount - 1
            Me.ListBox2.RemoveItem 0
        Next I
        For I = 0 To Me.ListBox3.ListCount - 1
            Me.ListBox3.RemoveItem 0
        Next I
        Me.ListBox1.SetFocus
        'Dico.RemoveAll
    End Sub
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  8. #28
    Membre à l'essai
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    merci Daniel
    ca fonctionne tres bien.

    si tu as un moment, peux tu m'eclaicir sur la phrase:

    Note que le fait d'utiliser l’événement "Change" au lieu de l'enregistrement "Exit" fait que tu déclenches cet événement autant de fois que tu fais de sélections dans la listbox. Ce qui multiplie d'autant le nombre d'items dans les listboxes suivantes
    super

  9. #29
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 200
    Points : 14 346
    Points
    14 346
    Par défaut
    Regarde l'image :

    Nom : Capture.PNG
Affichages : 124
Taille : 32,4 Ko

    Si tu sélectionnes "APS" dans la listbox2, les éléments correspondants se copient dans Listbox3. Si tu sélectionnes un second élément, la macro "Change" lit chaque élément sélectionné et écrit les éléments correspondants dans la listbox3 et ajoute des éléments dont je ne connais pas la provenance. Il faudrait débugger sérieusement la macro mais je n'en ai pas le temps.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/12/2009, 15h39
  2. Réponses: 1
    Dernier message: 31/03/2009, 10h44
  3. chaine de caractères listBox
    Par yannfrance dans le forum Débuter
    Réponses: 5
    Dernier message: 30/03/2009, 18h37
  4. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 21h25

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