validation & Impression donnés Userform

IMBO

XLDnaute Nouveau
Bonjour
je suis un débutant VBA vraiement débutant juste une semaine que je l'ai vu sur youtube :D, donc j'ai crée un USERFORM avec des Textbox,
si vous pouvez me fournir les codes a mettre pour ce qui suit:

option 1: en cliquant sur boutton1 les données sont copiés sur les feuilles "2" et "3" sachant que ces feuilles sont invisibles "xlSheetVeryHidden"
option2: en cliquant sur boutton2 impressions des feuilles 2 et 3 qui sont nvisibles "xlSheetVeryHidden" en 3 exemplaires
option3: en cliquant sur boutton3 enregistrer sous format excel la feuille 2 "enregistrer sous"
y a t il possibilité qu'un seul boutton regroupe l'option1 et 2?
y a t il possibilite d'imprimer juste des cellules par exemple de A1 au L25 seulement et de A28 au L64 ?

merci d'avance
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, IMBO (Bienvenue sur le forum)

Sur ton userform dans un Frame, ajouter 3 OptionButton, deu TextBox et un CommandButton
Puis copier le code VBA ci-dessous dans l'userform
VB:
Private Sub CommandButton1_Click()
If OptionButton1 Then Option1
If OptionButton2 Then Option2
If OptionButton3 Then Option3
End Sub

Sub Option1()
Sheets(1).Visible = -1
Sheets(2).Visible = -1
Sheets(1).Cells(1) = TextBox1
Sheets(2).Cells(1) = TextBox2
Sheets(1).Visible = 2
Sheets(2).Visible = 2
End Sub
Sub Option2()
Sheets(1).Visible = -1
Sheets(2).Visible = -1
Sheets(1).PrintOut Copies:=3
Sheets(2).PrintOut Copies:=3
Sheets(1).Visible = 2
Sheets(2).Visible = 2
End Sub
Sub Option3()
Sheets(2).Visible = -1
Sheets(2).Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & InputBox("Nom de la sauvegarde?", "Backup", Format(Now, "yyyymmddhmmss"))
ActiveWorkbook.Close True
Sheets(2).Visible = 2
End Sub
PS: Ce n'est qu'un petit code pour faire un test
(pour te mettre sur la voie ;))
 
Dernière édition:

IMBO

XLDnaute Nouveau
Bonsoir le fil, IMBO (Bienvenue sur le forum)

Sur ton userform dans un Frame, ajouter 3 OptionButton, deu TextBox et un CommandButton
Puis copier le code VBA ci-dessous dans l'userform
VB:
Private Sub CommandButton1_Click()
If OptionButton1 Then Option1
If OptionButton2 Then Option2
If OptionButton3 Then Option3
End Sub

Sub Option1()
Sheets(1).Visible = -1
Sheets(2).Visible = -1
Sheets(1).Cells(1) = TextBox1
Sheets(2).Cells(1) = TextBox2
Sheets(1).Visible = 2
Sheets(2).Visible = 2
End Sub
Sub Option2()
Sheets(1).Visible = -1
Sheets(2).Visible = -1
Sheets(1).PrintOut Copies:=3
Sheets(2).PrintOut Copies:=3
Sheets(1).Visible = 2
Sheets(2).Visible = 2
End Sub
Sub Option3()
Sheets(2).Visible = -1
Sheets(2).Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & InputBox("Nom de la sauvegarde?", "Backup", Format(Now, "yyyymmddhmmss"))
ActiveWorkbook.Close True
Sheets(2).Visible = 2
End Sub
PS: Ce n'est qu'un petit code pour faire un test
(pour te mettre sur la voie ;))
Merci pour votre retour, je vais abuser de votre gentillesse :D
pour l'option 1 de copier les textbox
j'avais utiliser cette formule mais ca marche pas sur les feuilles
donc comment faire svp ou que dois je modifier pour specifier les feuilles
*******************
Private Sub CommandButton10_Click()

Dim f_path As String
Dim nextBlankRow As Long
Range("A62") = Me.TextBox25
Range("B62") = Me.TextBox2
Range("C62") = Me.TextBox3
Range("D62") = Me.TextBox4
Range("E62") = Me.TextBox5
Range("F62") = Me.TextBox6
Range("G62") = Me.TextBox7
Range("H62") = Me.TextBox8
 

Staple1600

XLDnaute Barbatruc
Re

Tu as l'exemple de syntaxe dans l'exemple que je te proposais, non ?
Sheets(1).Cells(1) = TextBox1
Sheets(2).Cells(1) = TextBox2
Partant de là, on pouvait deviner et tenter
Sheets(1).Range("A62") = Me.TextBox25
ou aussi
Sheets("TOTO").Range("A62") = Me.TextBox25
ou TOTO est à remplacer par le vrai nom de feuille

Bref, il fallait ne pas d'oublier d'être curieux et expérimentateur ;)
(mettre les mains dans le cambouis, en somme ;))
 

IMBO

XLDnaute Nouveau
merci
Re

Tu as l'exemple de syntaxe dans l'exemple que je te proposais, non ?
Sheets(1).Cells(1) = TextBox1
Sheets(2).Cells(1) = TextBox2
Partant de là, on pouvait deviner et tenter
Sheets(1).Range("A62") = Me.TextBox25
ou aussi
Sheets("TOTO").Range("A62") = Me.TextBox25
ou TOTO est à remplacer par le vrai nom de feuille

Bref, il fallait ne pas d'oublier d'être curieux et expérimentateur ;)
(mettre les mains dans le cambouis, en somme ;))
merci bcp
je ne suis qu'un petit poisson rouge qui vient de découvrir l'ocean, :D
 

Discussions similaires

Réponses
6
Affichages
2 K

Statistiques des forums

Discussions
312 304
Messages
2 087 050
Membres
103 441
dernier inscrit
MarioC