• Initiateur de la discussion Initiateur de la discussion gerardd3617
  • 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 !

G

gerardd3617

Guest
Bonjour et bonne année
Quand j' enregistre les données de mon userform,toutes les données vont dans l'onglet liste.Mais je voudrais que certaines soient distribuées dans d'autre onglet.
cordialement
 
Re : Userform et textbox

Bonjour

Ci dessous une solution au problème

Code:
Private Sub CommandButton1_Click()

.................................


'Ici c'est le report de la saisie dans la feuille
With Sheets("LISTE") ' si on utlise cette ligne, il faut mettre un pint devant range
.Range("a" & L).Value = TextBox1.Value     'PRIX à copier aussi sur sept et oct en A
.Range("c" & L).Value = TextBox2.Value     'nom à copier sur sept et oct en C
.Range("g" & L).Value = TextBox5.Value     'tel fixe
.Range("h" & L).Value = TextBox6.Value     'adresse
.Range("i" & L).Value = TextBox7.Value     'instit
.Range("j" & L).Value = TextBox8.Value     'portable
.Range("d" & L).Value = ListBox1.Value     'mt cp à copier sur sept et oct en D
.Range("E" & L).Value = TextBox4.Value      ' A P à copier sur sept et oct en E

' ici je range par ordre alphabétique
 .Range("C4").Select
    Range("A2:M275").Sort Key1:=Range("C9"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("D10").Select

    
'ici je remets le curseur en textbox1
TextBox1.SetFocus
End With
Dim Sh As Worksheet
    For Each Sh In Worksheets
        If Sh.Name <> "liste" Then
        With Sheets(Sh.Name)
            L = .Range("A65536").End(xlUp).Row + 1
            .Range("a" & L).Value = TextBox1.Value     'PRIX à copier aussi sur sept et oct en A
            .Range("b" & L).Value = TextBox2.Value     'nom à copier sur sept et oct en C
            .Range("c" & L).Value = ListBox1.Value     'mt cp à copier sur sept et oct en D
            .Range("d" & L).Value = TextBox4.Value
        
        .Cells.Sort _
        Key1:=.Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        End With
        End If
    Next Sh
'Ici je vide les TextBox
TextBox1.Value = ""
TextBox2.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
ListBox1.Value = ""
End Sub

A tester

JP
 
Dernière édition:
Re : Userform et textbox

Bonsoir
Salut Kjin

bonjour,kjin
ta solution va tres bien mais comme j'ai beaucoup d' onglets les titres des onglets sont mis en abreviation
set,oct,nov.....y a t il une solution
a+

Deux solutions
Modifier le code de kjin pour extraire les 3 premières lettres du nom

Code:
Set ws = Sheets(LCase(Left(VBA.MonthName(i), 3)))
ou utiliser
Code:
Dim Sh As Worksheet
    For Each Sh In Worksheets
        If Sh.Name <> "liste" Then
        With Sheets(Sh.Name)
................................

Comme indiquée ci dessus

JP
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
222
  • Question Question
Réponses
32
Affichages
766
  • Question Question
Autres Planning
Réponses
8
Affichages
323
  • Résolu(e)
Microsoft 365 problème
Réponses
19
Affichages
916
Réponses
2
Affichages
171
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
661
Retour