selection feuilles d'aprés combobox

  • Initiateur de la discussion Initiateur de la discussion nrdz83
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nrdz83

XLDnaute Impliqué
Bonjour à tous, voila j'utilise ce code qui fonctionne trés bien.

Je voudrais ranger la saisie des données dans la feuille qui serait sélectionnée d'aprés la combobox2.
Comment je dois modifier ce code existant ?
d'avance merci à tous et bon week end
Code:
Private Sub CommandButton1_Click()
    ' On teste la saisie du gisement
    If Me.ComboBox1.Text = "" Then
        MsgBox "Vous devez selectionner un opérateur."
        Me.ComboBox1.SetFocus
        Exit Sub
    End If
    ' On teste la saisie du matériel
    If Me.ComboBox2.Text = "" Then
        MsgBox "Vous devez saisir un matériel ou gisement."
        Me.ComboBox2.SetFocus
        Exit Sub
    End If
    
    ' On teste la saisie de la dernière visite
    If Me.DTPicker1 = "" Then
        MsgBox "Vous devez saisir une date du graissage."
        Me.DTPicker1.SetFocus
        Exit Sub
    End If
    
    
  
    ' Mise en place des valeurs saisies
   [COLOR="Red"] Sheets("Feuil1").Select[/COLOR]   
 DerLig = [A65000].End(xlUp).Row + 1
    Cells(DerLig, 1).Value = DTPicker1
    Cells(DerLig, 2).FormulaR1C1 = "=DATE(YEAR(RC[-1]),MONTH(RC[-1])+1,DAY(RC[-1]))"
    Cells(DerLig, 4).Value = ComboBox1
    Cells(DerLig, 5).Value = TxtObs
    ' On décharge le formulaire
    Call mfc
End Sub
 
Re : selection feuilles d'aprés combobox

Bonsoir,
Sans doute comme ceci.....

' Mise en place des valeurs saisies
With Sheets(ComboBox2.text).Select

DerLig = .[A65000].End(xlUp).Row + 1
.Cells(DerLig, 1).Value = DTPicker1
.Cells(DerLig, 2).FormulaR1C1 = "=DATE(YEAR(RC[-1]),MONTH(RC[-1])+1,DAY(RC[-1]))"
.Cells(DerLig, 4).Value = ComboBox1
.Cells(DerLig, 5).Value = TxtObs
' On décharge le formulaire
End With
Call mfc
End Sub
 
Re : selection feuilles d'aprés combobox

Bonsoir Nrdz83, Youki(bj) 🙂,
Tant qu'à faire, autant charger le ComboBox avec le nom des feuilles et placer la sélection dans le Change pour visualiser le changement de feuille
Code:
Private Sub ComboBox2_Change()
Sheets(ComboBox2.Value).Select
End Sub
Private Sub UserForm_Initialize()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
    ComboBox2.AddItem WS.Name
Next
End Sub
Bonne soirée 😎
 
Re : selection feuilles d'aprés combobox

bonsoir youki et jnp merci pour vos infos.
Jnp ton code est il complémentaire à celui de youky .?
Et ton code faut il le placer dans un module ? ou au dessus du code?
d'avance merci
 
Re : selection feuilles d'aprés combobox

bonjour le forum , youki et jnp,
jnp j'ai mis ton code
Code:
Private Sub ComboBox2_Change()
Sheets(ComboBox2.Value).Select
End Sub
avant mes lignes de code et ça fonctionne par contre si je met la suite de ton code
Code:
Private Sub UserForm_Initialize()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
    ComboBox2.AddItem WS.Name
Next
End Sub
alors mon programme plante.
Ou faut il mettre ce code ?
Et il sert a quoi exactement ?
D'avance merci à tous pour vos lumières, amitiés
 
Re : selection feuilles d'aprés combobox

Re 🙂,
Le code plante peut-être parce que tu as 2 "Private Sub UserForm_Initialize()". Mon code sert à lister le nom des feuilles du fichier dans le ComboBox2 lors du chargement du l'USF. En gros, c'est, pour chaque feuille du classeur, ajouter le nom de la feuille dans la liste déroulante. Donc si tu as déjà une procédure "Private Sub UserForm_Initialize()", mon code est à ajouter dans cette procédure. Mais tu as peut-être aussi un RowSource qui va chercher le nom des feuilles, le mieux serait de le vider.
Bonne journée 😎
 
Re : selection feuilles d'aprés combobox

re 🙂,
L'avantage de mon code, c'est que si tu change un nom d'onglet, il sera automatiquement reporté dans l'USF. Si tu veux éviter une feuille, il suffit de mettre un test sur le Name pour ne pas l'intégrer. Maintenant, le RowSource peut être aussi efficace, le tout, c'est de le surveiller de près...
Bonne journée 😎
 
Re : selection feuilles d'aprés combobox

Bonsoir

Une variante (pour les curieux) du code de JNP

Code:
Private Sub UserForm_Initialize()
'-> D.Kusleika
Dim sh As Object
Set sh = ActiveWorkbook.Sheets(1)
Do
ComboBox2.AddItem sh.Name
Set sh = sh.Next
Loop Until sh Is Nothing
End Sub
 
Re : selection feuilles d'aprés combobox

Re

La différence se situe juste dans le plaisir d'obtenir le même résultat par un autre chemin.

Pour répondre à comment sélectionner les feuilles

Explorer cette piste

If sh.Name Like "toto" Then


EDITION: exemple, ici seuls les feuilles donc le nom commence par toto sont prises en compte.
Code:
Private Sub UserForm_Initialize()
For i = 1 To Sheets.Count
If Sheets(i).Name Like "toto*" Then
ComboBox2.AddItem Sheets(i).Name
End If
Next i
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
281
Réponses
2
Affichages
169
Réponses
4
Affichages
223
Réponses
5
Affichages
241
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
171
Retour