Userform et textbox

gerardd3617

XLDnaute Occasionnel
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
 

jp14

XLDnaute Barbatruc
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:

kjin

XLDnaute Barbatruc
Re : Userform et textbox

Bonjour, salut JP:),
Ton fichier en retour qq peu réadapté
Boucle sur toutes les feuilles et insère les valeurs pour peu que les feuilles se nomment janvier, février...
A+
kjin
 

Pièces jointes

  • gerard.zip
    17.2 KB · Affichages: 36
  • gerard.zip
    17.2 KB · Affichages: 41
  • gerard.zip
    17.2 KB · Affichages: 41

jp14

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino