Récupérer le nombre d'élement de ma listbox

Bonjour Tous,

J'ai une question toute bête....

Voici que j' n'arrive plus à récupérer le nom d'élément de la listbox avec LIstCount.

Depuis hier je galère, pouvez vous m'aidez.

Désolé de vous dérangez pour ci peu.

Merci

Bonjour Samson, bonjour le forum,

Dans le titre tu parles de nombre et dans le texte tu parles de nom ?! J'imagine qu'il s'agit bien du nombre....

Quand fais-tu la requête ? Après avoir alimentée la ListBox j'espère...

Le mieux serait que tu mettes le code que tu as utilisé pour qu'on puisse mieux comprendre où se situe l'erreur.

Bonjour,

Oui oui Erreur de frappe c'est nombre.

Effectivement, j'alimente ma listbox mais je t'explique le principe que je veux appliquer.

Mon objectif est de faire un mailing.

J'ai une première listbox avec des entreprises et une deuxième avec les contacts associé à chaque entreprise. (On peut avoir plusieurs contact dans une entreprise et leur envoyer a tous un mail au lieu de le faire individuellement)

Donc je clic sur la 1eré listbox et et l'autre (listbox2) est triées en fonction de se critère la. Et c'est seulement à ces contacts qu'il envoi le mail.

Bon je te joins le fichier espérant un retour de ta pars.

Merci

Le code

137base05-0-2-envoi.xlsm (261.19 Ko)

Re,

Désolé mais quoi que je fasse ça plante... Envoie-moi la procédure détaillée pour voir ton problème...

Le peu que j'ai pu voir, c'est que tu demandes ListBox2.ListCount dans le Module5 en dehors du module de l'UserForm. Si ce dernier est fermé c'est normal que ça plante et même ouvert il te faudrait spécifier le nom de l'UserForm...

Je pense que tu devrais :

• créer une variable Publique en haut d'un module standard du type : Public NE As Integer

• Après alimentation de la ListBox2, récupérer le nombre dans la variable : NE = Me.ListBox2.ListCount -1

• dans le Module5, procédure Sub SendEmail2(sujet As String, corps_message As String)

remplacer la boucle :

For i = 2 To ListBox2.ListCount - 1

par :

For i = 2 To NE

RE,

Merci pour ton aide.

Ce que je voulais t'expliqué c'est le truc suivant.

Lorsque dans listbox1 je click sur un élément listbox2 m'affiche les contacts associés. Du coup ils peuvent être 1, 2, 3 , 4 etc.

Et c'est a seulement ces 1, 2 ,3 , 4 que je voudrais envoyé un mail grouper.

Donc je recherche un boucle qui pourra parcourir ma colonne "adresse mail" et récupérer ces contacts la.

Ce que tu décris est bien mais seulement sans avoir trié listbox2 en fonction de ma sélection.

Une fois que j'effectue ma sélection c'est la que tout ce complique.

Est que déclaré une variable Publique pourra compter ces élements un triés?

Merci

Tuau THeme,

T'es super.... Merciiiiiii mille fois

J'ai resoudre le blèm avec ta proposition que j'ai modifier.

En effet déclarer un variable publique était simple.

1. J'ai fait Plublic NE as interger

2. Puisque le filtre que je réalise se fait a partir d'une autre feuille "FiltrerContact"... Alors je suis aller la bas récupérer le combre d'enregistrement : NE = Application.CountA(Sheets("FilterContact").Range("A:A"))

3. De retour dasn le module 5 dans ma fonction SendMail3 je fait ce code :

Sub SendEmail3(sujet As String, corps_message As String)

Dim olApp As Outlook.Application

Dim olMail As Outlook.MailItem

MsgBox NE ' Pour voir quel est la valeur qu'il contient

For i = 2 To NE

Set olApp = New Outlook.Application

Set olMail = olApp.CreateItem(olMailItem)

With olMail

.BodyFormat = olFormatHTML

.Display

.To = Feuil2.Range("U" & i).Value

.Subject = sujet

.HTMLBody = corps_message & .HTMLBody

'.Attachments.Add fichier_join

'.Send

End With

Next i

End Sub

C'est cool merci...

Je pourrai l'améliorer par la suite; Bravo a toi

Rechercher des sujets similaires à "recuperer nombre element listbox"