BO avec liste déroulante des onglets

Le
calendrier
Bonjour a tous

connaissez vous le code VBA pour qu'à l'ouverture d'un fichier apparaisse
une BO avec une liste déroulante des onglets figurant dans le fichier

merci par avance pour votre aide

jean marie
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5333251
Bonsoir,

http://boisgontierjacques.free.fr/fichiers/BarreFeuilles.xls



Sub auto_open()
On Error Resume Next
Set Barre = CommandBars.Add
Barre.Name = "BarreFeuilles"
Barre.Visible = True
Set Menu = Barre.Controls.Add(msoControlComboBox)
For i = 1 To Sheets.Count
Menu.AddItem Sheets(i).Name
Next
Menu.OnAction = "ChoixFeuille"
Menu.Text = "Sélectionner puis choisir"
End Sub

Sub auto_close()
On Error Resume Next
CommandBars("BarreFeuilles").Delete
End Sub

Sub ChoixFeuille()
Sheets(CommandBars("BarreFeuilles").Controls(1).Text).Select
End Sub


JB


On 13 jan, 20:51, calendrier wrote:
Bonjour a tous

connaissez vous le code VBA pour qu'à l'ouverture d'un fichier apparaiss e
une BO avec une liste déroulante des onglets figurant dans le fichier

merci par avance pour votre aide

jean marie


JB
Le #5333211
Avec un formulaire (liste triée)

http://cjoint.com/?bnvlOGaGs4

Private Sub UserForm_Initialize()
Dim temp()
For i = 1 To Sheets.Count
ReDim Preserve temp(1 To i)
temp(i) = Sheets(i).Name
Next i
n = UBound(temp)
Call Tri(temp, 1, n)
Me.ComboBox1.List = temp
Me.ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
m = Me.ComboBox1
Sheets(m).Select
End Sub

Sub Tri(a, gauc, droi) ' Quick sort
ref = a((gauc + droi) 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call Tri(a, g, droi)
If gauc < d Then Call Tri(a, gauc, d)
End Sub

JB


On 13 jan, 20:59, JB
Bonsoir,

http://boisgontierjacques.free.fr/fichiers/BarreFeuilles.xls

Sub auto_open()
  On Error Resume Next
  Set Barre = CommandBars.Add
  Barre.Name = "BarreFeuilles"
  Barre.Visible = True
  Set Menu = Barre.Controls.Add(msoControlComboBox)
  For i = 1 To Sheets.Count
      Menu.AddItem Sheets(i).Name
  Next
  Menu.OnAction = "ChoixFeuille"
  Menu.Text = "Sélectionner puis choisir"
End Sub

Sub auto_close()
  On Error Resume Next
  CommandBars("BarreFeuilles").Delete
End Sub

Sub ChoixFeuille()
  Sheets(CommandBars("BarreFeuilles").Controls(1).Text).Select
End Sub

JB

On 13 jan, 20:51, calendrier wrote:



Bonjour a tous

connaissez vous le code VBA pour qu'à l'ouverture d'un fichier apparai sse
une BO avec une liste déroulante des onglets figurant dans le fichier

merci par avance pour votre aide

jean marie- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



calendrier
Le #5128781
Bonjour

merci pour ton aide ta seconde solution me convient parfaitement.
Sympa
Mais juste un petit truc supplémentaire
Dans les onglet j'ai mis des codes et la transco de ces codes sont sur
l'onglet A00

L'onglet A00 se présente omme suit
colonne A le code ex A01
colonne B l'explication ex : clients

es ce que je peut avoir le user forme avec ces deux éléments sachant qu'en
cliquant dessus je souhate aller sur l'ongler A01

Si tu peux m'aider merci d'avance

par ailleurs, j'ai trouver un programme sur le net sympa mais avec un mot de
passe en VBA ; comment faie ??

merci

jean marie



Avec un formulaire (liste triée)

http://cjoint.com/?bnvlOGaGs4

Private Sub UserForm_Initialize()
Dim temp()
For i = 1 To Sheets.Count
ReDim Preserve temp(1 To i)
temp(i) = Sheets(i).Name
Next i
n = UBound(temp)
Call Tri(temp, 1, n)
Me.ComboBox1.List = temp
Me.ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
m = Me.ComboBox1
Sheets(m).Select
End Sub

Sub Tri(a, gauc, droi) ' Quick sort
ref = a((gauc + droi) 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call Tri(a, g, droi)
If gauc < d Then Call Tri(a, gauc, d)
End Sub

JB


On 13 jan, 20:59, JB
Bonsoir,

http://boisgontierjacques.free.fr/fichiers/BarreFeuilles.xls

Sub auto_open()
On Error Resume Next
Set Barre = CommandBars.Add
Barre.Name = "BarreFeuilles"
Barre.Visible = True
Set Menu = Barre.Controls.Add(msoControlComboBox)
For i = 1 To Sheets.Count
Menu.AddItem Sheets(i).Name
Next
Menu.OnAction = "ChoixFeuille"
Menu.Text = "Sélectionner puis choisir"
End Sub

Sub auto_close()
On Error Resume Next
CommandBars("BarreFeuilles").Delete
End Sub

Sub ChoixFeuille()
Sheets(CommandBars("BarreFeuilles").Controls(1).Text).Select
End Sub

JB

On 13 jan, 20:51, calendrier wrote:



Bonjour a tous

connaissez vous le code VBA pour qu'à l'ouverture d'un fichier apparaisse
une BO avec une liste déroulante des onglets figurant dans le fichier

merci par avance pour votre aide

jean marie- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -







JB
Le #5128611
Bonjour,

Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "A00!A1:B" & Sheets("A00").
[B65000].End(xlUp).Row
End Sub

Private Sub ComboBox1_Change()
m = Me.ComboBox1
On Error Resume Next
Sheets(m).Select
End Sub

http://cjoint.com/?bphdBFuNSQ


JB

On 14 jan, 21:57, calendrier wrote:
Bonjour

merci pour ton aide ta seconde solution me convient parfaitement.
Sympa
Mais juste un petit truc supplémentaire
Dans les onglet j'ai mis des codes et la transco de ces codes sont sur
l'onglet A00

L'onglet A00 se présente omme suit
colonne A le code ex A01
colonne B l'explication ex : clients

es ce que je peut avoir le user forme avec ces deux éléments sachant q u'en
cliquant dessus je souhate aller sur l'ongler A01

Si tu peux m'aider merci d'avance

par ailleurs, j'ai trouver un programme sur le net sympa mais avec un mot de
passe en VBA ; comment faie ??

merci

jean marie




Avec un formulaire (liste triée)

http://cjoint.com/?bnvlOGaGs4

Private Sub UserForm_Initialize()
  Dim temp()
  For i = 1 To Sheets.Count
    ReDim Preserve temp(1 To i)
    temp(i) = Sheets(i).Name
  Next i
  n = UBound(temp)
  Call Tri(temp, 1, n)
  Me.ComboBox1.List = temp
  Me.ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
  m = Me.ComboBox1
  Sheets(m).Select
End Sub

Sub Tri(a, gauc, droi)          ' Quick sort
 ref = a((gauc + droi) 2)
 g = gauc: d = droi
 Do
     Do While a(g) < ref: g = g + 1: Loop
     Do While ref < a(d): d = d - 1: Loop
     If g <= d Then
       temp = a(g): a(g) = a(d): a(d) = temp
       g = g + 1: d = d - 1
     End If
 Loop While g <= d
 If g < droi Then Call Tri(a, g, droi)
 If gauc < d Then Call Tri(a, gauc, d)
End Sub

JB

On 13 jan, 20:59, JB
Bonsoir,

http://boisgontierjacques.free.fr/fichiers/BarreFeuilles.xls

Sub auto_open()
  On Error Resume Next
  Set Barre = CommandBars.Add
  Barre.Name = "BarreFeuilles"
  Barre.Visible = True
  Set Menu = Barre.Controls.Add(msoControlComboBox)
  For i = 1 To Sheets.Count
      Menu.AddItem Sheets(i).Name
  Next
  Menu.OnAction = "ChoixFeuille"
  Menu.Text = "Sélectionner puis choisir"
End Sub

Sub auto_close()
  On Error Resume Next
  CommandBars("BarreFeuilles").Delete
End Sub

Sub ChoixFeuille()
  Sheets(CommandBars("BarreFeuilles").Controls(1).Text).Select
End Sub

JB

On 13 jan, 20:51, calendrier wrote:

Bonjour a tous

connaissez vous le code VBA pour qu'à l'ouverture d'un fichier app araisse
une BO avec une liste déroulante des onglets figurant dans le fich ier

merci par avance pour votre aide

jean marie- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -





somme.si et VBa
Le #5128571
Merci
excellent
je te remercie et te souhaite une bonne journée

jm


Bonjour,

Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "A00!A1:B" & Sheets("A00").
[B65000].End(xlUp).Row
End Sub

Private Sub ComboBox1_Change()
m = Me.ComboBox1
On Error Resume Next
Sheets(m).Select
End Sub

http://cjoint.com/?bphdBFuNSQ


JB

On 14 jan, 21:57, calendrier wrote:
Bonjour

merci pour ton aide ta seconde solution me convient parfaitement.
Sympa
Mais juste un petit truc supplémentaire
Dans les onglet j'ai mis des codes et la transco de ces codes sont sur
l'onglet A00

L'onglet A00 se présente omme suit
colonne A le code ex A01
colonne B l'explication ex : clients

es ce que je peut avoir le user forme avec ces deux éléments sachant qu'en
cliquant dessus je souhate aller sur l'ongler A01

Si tu peux m'aider merci d'avance

par ailleurs, j'ai trouver un programme sur le net sympa mais avec un mot de
passe en VBA ; comment faie ??

merci

jean marie




Avec un formulaire (liste triée)

http://cjoint.com/?bnvlOGaGs4

Private Sub UserForm_Initialize()
Dim temp()
For i = 1 To Sheets.Count
ReDim Preserve temp(1 To i)
temp(i) = Sheets(i).Name
Next i
n = UBound(temp)
Call Tri(temp, 1, n)
Me.ComboBox1.List = temp
Me.ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
m = Me.ComboBox1
Sheets(m).Select
End Sub

Sub Tri(a, gauc, droi) ' Quick sort
ref = a((gauc + droi) 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call Tri(a, g, droi)
If gauc < d Then Call Tri(a, gauc, d)
End Sub

JB

On 13 jan, 20:59, JB
Bonsoir,

http://boisgontierjacques.free.fr/fichiers/BarreFeuilles.xls

Sub auto_open()
On Error Resume Next
Set Barre = CommandBars.Add
Barre.Name = "BarreFeuilles"
Barre.Visible = True
Set Menu = Barre.Controls.Add(msoControlComboBox)
For i = 1 To Sheets.Count
Menu.AddItem Sheets(i).Name
Next
Menu.OnAction = "ChoixFeuille"
Menu.Text = "Sélectionner puis choisir"
End Sub

Sub auto_close()
On Error Resume Next
CommandBars("BarreFeuilles").Delete
End Sub

Sub ChoixFeuille()
Sheets(CommandBars("BarreFeuilles").Controls(1).Text).Select
End Sub

JB

On 13 jan, 20:51, calendrier wrote:

Bonjour a tous

connaissez vous le code VBA pour qu'à l'ouverture d'un fichier apparaisse
une BO avec une liste déroulante des onglets figurant dans le fichier

merci par avance pour votre aide

jean marie- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -









Publicité
Poster une réponse
Anonyme