Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nom des onlets dans une zone de liste

9 réponses
Avatar
David T.
Bonsoir

Contrairement à ma dernière demande, j'aimerais récupérer dans une zone de
liste (modifiable??)
(formulaire ou contrôle ???)
le nom de certains onglets. Quand clic sur celui désiré l'afficher dans P3.

Merci de votre aide

--
direction-ternoise@(supprimerceci)wanadoo.fr

9 réponses

Avatar
garnote
Salut David,

Peut-être que :

Private Sub ListBox1_Change()
[p3] = ListBox1
End Sub

Serge

"David T." <direction-ternoise@(supprimerceci)wanadoo.fr> a écrit dans le
message de news:
Bonsoir

Contrairement à ma dernière demande, j'aimerais récupérer dans une zone de
liste (modifiable??)
(formulaire ou contrôle ???)
le nom de certains onglets. Quand clic sur celui désiré l'afficher dans
P3.


Merci de votre aide

--
direction-ternoise@(supprimerceci)wanadoo.fr




Avatar
David T.
Serge, bonjour et merci de ta réponse

mais non pas très concluant.

Dans la ListBox1, il faut récupérer le nom des onglets. Quand clic sur un de
ces noms afficher la valeur dans P3.

J'espère avoir été un peu plus clair.

Merci
Avatar
Jean-François Aubert
Salut David,

En plus de la proc de Serge:

Sub rempli()
Dim i
ListBox1.Clear
For i = 1 To Sheets.Count
ListBox1.AddItem (Sheets(i).Name)
Next
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"David T." <direction-ternoise@(supprimerceci)wanadoo.fr> a écrit dans le message de
news:%
Serge, bonjour et merci de ta réponse

mais non pas très concluant.

Dans la ListBox1, il faut récupérer le nom des onglets. Quand clic sur un de
ces noms afficher la valeur dans P3.

J'espère avoir été un peu plus clair.

Merci




Avatar
Frédéric Sigonneau
Bonsoir,

Dans le module de code de la feuille de calcul où se trouve ta ListBox (si elle
sur un userform, adapter, par exemple, en mettant le code de remplissage de la
listbox dans l'événement Initialize ou Activate du userform) :

'====================== Private Sub ListBox1_Click()
Dim i&
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Range("P3").Value = ListBox1.List(i)
Exit For
End If
Next i
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Arr, i
ReDim Arr(1 To Sheets.Count)
For i = 1 To Sheets.Count
Arr(i) = Sheets(i).Name
Next
ListBox1.Clear
ListBox1.List = Arr
End Sub
'======================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Serge, bonjour et merci de ta réponse

mais non pas très concluant.

Dans la ListBox1, il faut récupérer le nom des onglets. Quand clic sur un de
ces noms afficher la valeur dans P3.

J'espère avoir été un peu plus clair.

Merci


Avatar
David T.
Bonjour et merci à tous pour votre aide

Avec la solution de frédéric cela fonctionne presque bien !!!

Toutefois aprés essai un ComboBox me parait mieux mais cela ploque dans la
procedure
De plus, cela m'affiche bien le nom de mes onglets et plusieurs dialogue1,
dialogue2, etc

Un remède ?

Merci de votre aide à tous.
Salutations
David

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Arr, i
ReDim Arr(1 To Sheets.Count)
For i = 1 To Sheets.Count
Arr(i) = Sheets(i).Name
Next
ComboBox1.Clear
ComboBox1.List = Arr
End Sub

Private Sub ComboBox1_Click()
Dim i&
For i = 0 To ComboBox1.ListCount - 1
If ComboBox1.Selected(i) = True Then
Range("P2").Value = ComboBox1.List(i)
Exit For
End If
Next i
End Sub
Avatar
michdenis
Dans la première procédure de Frédéric,

Bonjour David,

Tu dois définir devant le nom des combobox l'objet auquel appartient tes combobox

Remplace userform1 par le nom de ton formulaire.
Userform1.ComboBox1.Clear
Userform1.ComboBox1.List = Arr


Salutations!






"David T." <direction-ternoise@(supprimerceci)wanadoo.fr> a écrit dans le message de
news:
Bonjour et merci à tous pour votre aide

Avec la solution de frédéric cela fonctionne presque bien !!!

Toutefois aprés essai un ComboBox me parait mieux mais cela ploque dans la
procedure
De plus, cela m'affiche bien le nom de mes onglets et plusieurs dialogue1,
dialogue2, etc

Un remède ?

Merci de votre aide à tous.
Salutations
David

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Arr, i
ReDim Arr(1 To Sheets.Count)
For i = 1 To Sheets.Count
Arr(i) = Sheets(i).Name
Next
ComboBox1.Clear
ComboBox1.List = Arr
End Sub

Private Sub ComboBox1_Click()
Dim i&
For i = 0 To ComboBox1.ListCount - 1
If ComboBox1.Selected(i) = True Then
Range("P2").Value = ComboBox1.List(i)
Exit For
End If
Next i
End Sub
Avatar
David T.
Bonjour et merci denis

Je comprends pas

Mon ComboBox1 venant de la boite à outils controles, est sur la feuille
"Relevé Général"

Plus de précisions ?

Encore merci

David
Avatar
Frédéric Sigonneau
Bonjour,

Les feuilles dialogue1, dialogue2 etc. sont des feuilles pour créer des boites
de dialogue Excel 5.0. Ton classeur doit comporter des boites de dialogue créées
à partir de ces feuilles. Pour éviter qu'elles n'apparaissent dans la liste des
feuilles du classeur, tu peux utiliser la collection Worksheets (feuilles de
calcul) au lieu de Sheets, à condition que tu n'ais pas, par exemple, des
feuilles graphiques qui devraient, elles, être présentes dans la liste (si c'est
le cas il faudra adapter le code).

Pour une combobox, le code (à recopier dans le module de code de la feuille
concernée) pourrait être :

'=================== Private Sub ComboBox1_Change()
Range("A1").Value = ComboBox1.Value
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Arr, i
ReDim Arr(1 To Worksheets.Count)
For i = 1 To Worksheets.Count
Arr(i) = Worksheets(i).Name
Next
ComboBox1.List = Arr
End Sub
'====================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour et merci à tous pour votre aide

Avec la solution de frédéric cela fonctionne presque bien !!!

Toutefois aprés essai un ComboBox me parait mieux mais cela ploque dans la
procedure
De plus, cela m'affiche bien le nom de mes onglets et plusieurs dialogue1,
dialogue2, etc

Un remède ?

Merci de votre aide à tous.
Salutations
David

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Arr, i
ReDim Arr(1 To Sheets.Count)
For i = 1 To Sheets.Count
Arr(i) = Sheets(i).Name
Next
ComboBox1.Clear
ComboBox1.List = Arr
End Sub

Private Sub ComboBox1_Click()
Dim i&
For i = 0 To ComboBox1.ListCount - 1
If ComboBox1.Selected(i) = True Then
Range("P2").Value = ComboBox1.List(i)
Exit For
End If
Next i
End Sub


Avatar
David T.
Bonjour Frédéric

Merci pour cette explication.

Encore bravo pour ton site. Une mine d'information.

Bon maintenant un autre provlème pas encore résolu que je vais tenter
d'expliquer dans un nouveau fil

Salutations