Menu

Comment activer une feuille de classeur à partir d'une combobox [Résolu]

Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
- - Dernière réponse : Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
- 8 déc. 2018 à 22:40
Bonjour,
Je possède un classeur de 15 feuilles qui représentent mes références et j'aimerai savoir quel code je dois mettre pour activer la feuille sélectionnée dans ma liste déroulante combobox. Je possède Excel 2010 . Je n'arrive pas à trouver ce problème sur le forum.
Cordialement


Configuration: Windows / Internet Explorer 11.0
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
1
Merci
Bonjour,

Une autre manière de procéder au changement de sélection dans la ComboBox.

Il faut que les valeurs liées aux TextBox soient dans les même cellules de chaque feuille:

Option Explicit
Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Activate
TextBox1.Text = ActiveSheet.Range("A1").Value 'on affiche les valeurs
TextBox2.Text = ActiveSheet.Range("A2").Value 'on affiche les valeurs
End Sub
Private Sub UserForm_Initialize()
Dim f As Worksheet
For Each f In ThisWorkbook.Worksheets
ComboBox1.AddItem (f.Name) 'on rempli la ComboBox
Next f
ComboBox1.ListIndex = 0 'on affiche le 1er index de la ComboBox
End Sub


Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM a aidé 34549 internautes ce mois-ci

cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
Le code que je t'ai donné fonctionne correctement. Il faut voir de ton coté le reste du code. Il se peut que ce soit une variable qui n'est pas déclaré ou avec un nom protégé (faisant partie de vba comme Date, Name etc.) .
Donc poste la totalité de ton code pour que l'on est une vue d'ensemble de ton problème.
cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
En cherchant un peu, j'ai trouvé cela. Regarde si cela correspond à ton cas!

http://fr.wikiversity.org/wiki/Macros-commandes_VBA/D%C3%A9bogage#Erreur_d'ex%C3%A9cution_'70':_Acc%C3%A8s_refus%C3%A9


en lisant ces lignes, cela proviendrait de ta ComboBox qui n'est pas vide!

@+
cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
Ta Combobox est déjà remplie!
Ce n'est pas nécessaire de la remplir de nouveau.

Tu as 2 fois l'évenement :

Private Sub UserForm_Initialize()


Il suffit de mettre cela:

Private Sub ComboBox1_Change()
  Sheets(ComboBox1.Text).Select
  Me.TextBox1.Value = ActiveSheet.Range("N5")
  Me.TextBox2.Value = ActiveSheet.Range("O5")
End Sub
'inscription du stock en cours O5 et adressage depot
Private Sub UserForm_Initialize()
 ComboBox1.ListIndex = 1
End Sub


Dans la feuille Listes à la ligne 6 changer 36 par 33

voilà pour l'instant ce qui te permettra de faire tourner tes macros
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Merci beaucoup de cette démarche. Je fais l'essais et vous confirme.
Encore merci
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Merci beaucoup de cette implication de votre part tout fonctionne correctement. Je ne savais pas cette finesse de ne pas répéter le code pour une même ComboBox dans 2 Userforms différents
Encore merci
Commenter la réponse de cs_Le Pivert
Messages postés
7446
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
14 décembre 2018
0
Merci
Bonjour

Pour activer une feuille d'un classeur :
   Workbooks("NomDuClasseur").Activate
   Workbooks("NomDuClasseur").Worksheets("NonDeLaFeuille").Activate


Avec VBA, il ne faut utiliser .Activate que lorsque c'est le but final.
Il absolument éviter d'activer inutilement des objets, notamment pour agir sur l'objet actif.
Il est bien plus efficace d'agir directement sur l'objet concerné sans l'activer.
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Voilà, d'après cette combobox je choisi une référence représentée par une feuille de calcul. Dans cette feuille je vais chercher une information dans une textBox qui s'affiche dans mon userform. Mais si je change de référence l'information de la première feuille de calcul reste affichée dans la référence suivante. Voilà pourquoi je pensais qu'il fallait activer le choix de chaque feuille de calcul mais je pense que le problème est ailleurs.
Merci
Patrice33740
Messages postés
7446
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
14 décembre 2018
-
Comment établis-tu la relation entre la référence et le nom de la feuille de calcul ?
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Mes références sont des diamètres de barres et chaque feuille de mon classeur porte le nom d'un diamètre.
Les noms de feuilles sont 20 - 26 - 30 - 36 etc...
Je vous explique le fonctionnement de mon classeur:
1 - Je choisi le diamètre de barre
2 - A l'ouverture de la feuille de calcul Excel m'affiche dans une textbox le stock de ce diamètre et les emplacements de rangement de ce diamètre dans une autre textbox
3 - Dans une autre textBox je modifie le stock avec des entrées ou sorties
4 - et je valide
Mais où le problème se situe est au niveau des 2 premières textbox où lorsque je change de diamètre les résultats affichés par Excel restent affiches en permanence voila pourquoi je pensais à une validation de mon choix de diamètre mais apparemment le mot "activate" ne correspond pas à cela
Merci
Patrice33740
Messages postés
7446
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
14 décembre 2018
-
Bonjour,

1) Il faut actualiser les deux textbox Stock et Emplacement lors de l'évènement Change du combox diamètre.
2) Il faut mettre à jour la cellule correspondante :
- soit lors de l'évènement Exit du textbox Stock (si pas de bouton valider)
- soit lors de l'évènement Clic du bouton Valider
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Bonjour,
Je ne fais pas d'actualisation de la cellule stock avec la textbox2 mais avec une autre textbox11 qui elle tiens compte des modification de stock avec un bouton entrée et un sortie.
Quand à la textBox1 pour les emplacements je modifie celle ci.
Apres j'ai un bouton de validation. Enfin j'ai 3 textBox pour mon userform et si je comprends bien 2 suffiraient
mais avec quels codes. Cela m'intéresse vivement car la personne qui va manipuler ce classeur est un peu allergique à l'informatique
Encore merci de cette implication
Commenter la réponse de Patrice33740
Messages postés
7446
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
14 décembre 2018
0
Merci
Bonjour,

Bonjour,

2 jours que ce fil tourne en rond par manque d'information, pour répondre efficacement il serait plus simple de disposer de ton fichier, débarrassé des informations confidentielles s'il y lieu.

Déposes le fichier avec des commentaires explicatifs détaillés sur
http://mon-partage.fr/
et mets le lien obtenu dans ton prochain message.

Cordialement
Patrice
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Bonsoir,
Je vous ai fait suivre le fichier
Merci
Patrice33740
Messages postés
7446
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
14 décembre 2018
-
Où ça ???
Cluses74
Messages postés
56
Date d'inscription
dimanche 4 janvier 2015
Dernière intervention
15 décembre 2018
-
Commenter la réponse de Patrice33740
Lotus 3D 4D 5D 6D 7D Pre-fans Premade Volume Fan Lash Eyelash Extensions | Yêu cầu | Édit. de vidéos histoire 2.5.00.14