Bonjour Eric, Daniel, Peper-Eliot, le Forum
Pour Eric,
Je n'avais pas vu ta question et je m'en excuse, vraiment beaucoup de boulot prioritaire et pas trop de temps pour le Forum.
Par contre si j'avais vu cette question, je t'aurais immédiatement répondu, "Eric, s'il te plait, relis la question de Daniel"...
Hors le code que tu tentes d'utiliser est strictement fait pour répondre à cette question. Il retournera la macro "Action" si "Toto4" est bien incrémenté et contenu dans la ListBox1 et rien d'autre ! D'ailleurs Daniel a été très satisfait de cette solution.
Pour que celà puisse se faire Sur un Test sur la Séléction il faudrait si prendre comme ceci : A noter que ce code serait surtout valable pour une ListBox MultiSelect
Option Explicit
Option Compare Text
Private Sub UserForm_Initialize()
Dim MyArray
MyArray = Sheets(1).Range("A1:A10")
With Me.ListBox1
.List = MyArray '<<< C'est pour remplir la listBox, mais elle pourrait être remplie par additem ou autre...
.MultiSelect = fmMultiSelectMulti
End With
End Sub
Private Sub CommandButton1_Click()
Dim i As Byte
Dim TaVar As String
TaVar = "Toto4"
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
If Me.ListBox1.List(i, 0) = TaVar Then
Action
Exit For
End If
End If
Next
End Sub
Sub Action()
MsgBox "Ceci est l'action"
End Sub
Donc voilà, si tu fais ceci, Eric, tu devrais avoir le code qu'il te faut, mais je vais faire une petite remarque, car finalement parfois en essayant d'adapter coûte que coûte quelque chose d'existant inventé pour un besoin bien précis on finit par dire "çà ne fonctionne pas" et pire !!! on finit par passer à coté de la solution toute simple (car j'ai dans ma petite idée que tu travailles en ListBox Simple Sélection) et il n'y a aucun miracle là dedans
Option Explicit
Option Compare Text
Private Sub UserForm_Initialize()
Dim MyArray
MyArray = Sheets(1).Range("A1:A10")
Me.ListBox1.List = MyArray '<<< C'est pour remplir la listBox, mais elle pourrait être remplie par additem ou autre...
End Sub
Private Sub CommandButton1_Click()
Dim i As Byte
Dim TaVar As String
TaVar = "Toto4"
If Me.ListBox1.ListIndex = -1 Then Exit Sub
If Me.ListBox1 = TaVar Then Action
End Sub
Sub Action()
MsgBox "Ceci est l'action"
End Sub
Et pour le "Bing" Photo dans l'USF je ne sais pas de quoi tu parles, pourrais-tu mettre le lien ?
Bon Lundi de Repos à tous et Toutes
@+Thierry