Bonjour le Forum,
Bonjour,
Je vous propose qu’une aide me soit donnée pour ce qui est expliqué ci-après.
Je dispose d’un fichier, lourd pour être compressé ici.
J’ai besoin d’aide pour mon application commencée en VBA.
J’espère ne pas m’être trompé dans la composition de l’ensemble, et serais comblé si un spécialiste dans ce domaine pouvait me corriger les erreurs, y placer les oublis, et m’indiquer la marche à suivre pour finaliser la suite du travail sur deux points décrits ci-dessous.
Le fichier dispose d’une feuille de base de données que j’ai nommée B (en onglet)
J’ai créé un Userform 1, et suis fier d’être arrivé jusque là. Comment supprimer les points en fond pour « n’y voir que du bleu » ?
J’ai aussi préparé une feuille que j’ai nommée FICHE SAISIES. J’y ai placé un bouton « Formulaire de saisie » qui pourrait être en relation avec la fiche de saisies Userform1 déjà créée
1 - Mais là je ne sais pas comment faire. Selection image + affecter une macro, mais laquelle car à ce moment là je n’ai rien dans la fenêtre qui apparaît !
Peut-être est-il possible de faire paraître cette fiche de saisie Userform sur cette feuille FICHE SAISIES lors de son accès ?
Le bouton QUITTER devant avoir deux fonctions :
- ne pas enregistrer les valeurs entrées partiellement sur la fiche de saisie,
- faire partir de l’écran la fiche, la feuille ne retrouvant alors que bouton « Formulaire de saisie »
Je ne sais pas composer le code.
Il est d’ailleurs probable que la fin de ma liste ci-dessous ne soit pas bonne.
2 - Mais là je ne sais pas comment faire.
Avec Alt F11, j’ai tenté de placer les codes correspondants, ce qui a donné :
Private Sub UserForm1_Click() 'FICHE DE SAISIE
' Cette fenêtre de saisie devrait paraître en milieu d'écran de la feuille nommée FICHE SAISIESEnd Sub
Private Sub ComboBox1_Change() 'Fenêtre Date
'c'est une liste déroulante prise dans feuille Paramètres zone E2:E15
Sub Nbre_ZoneListe() 'devrait dimensionner la zone de liste suiv nbr enreg
Dim NbreEnreg As Integer
With UserForm1
.ComBox1.RowSource = "E2:E15" 'Dans la feuille nommée Paramètres
NbreEnreg = .ComBox1.ListCount
.ComBox1.ListRows = NbreEreg
.Show
End With
End Sub
Private Sub ComboBox2_Change() 'FenêtreLieu
'c'est une liste déroulante prise dans feuille Paramètres zone C2:C41
Sub Nbre_ZoneListe() 'devrait dimensionner la zone de liste suiv nbr enreg
Dim NbreEnreg As Integer
With UserForm1
.ComBox2.RowSource = "C2:C41" 'Dans la feuille nommée Paramètres
NbreEnreg = .ComBox1.ListCount
.ComBox1.ListRows = NbreEreg
.Show
End With
End Sub
Private Sub CommandButton2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
End Sub ‘j’ai l’impression que cette partie est inutile
Private Sub Label1_Click() 'Texte Date
End Sub
Private Sub Label2_Click() 'Texte Lieu
End Sub
Private Sub Label3_Click() 'Texte PBrut
End Sub
Private Sub Label4_Click() 'TexteCat0
End Sub
Private Sub Label5_Click() 'TexteCat0,5
End Sub
Private Sub Label6_Click() 'TexteCat1
End Sub
Private Sub Label7_Click() 'TexteCat2
End Sub
Private Sub Label9_Click() 'Texte PSacVide
End Sub
Private Sub TextBox1_Change() 'FenBrut0
End Sub
Private Sub TextBox2_Change() 'FenSacV0
End Sub
Private Sub TextBox3_Change() 'FeBrut0,5
End Sub
Private Sub TextBox4_Change() 'FenSacV0,5
End Sub
Private Sub TextBox5_Change() 'FenBrut1
End Sub
Private Sub TextBox6_Change() 'FenSacV1
End Sub
Private Sub TextBox7_Change() 'FenBrut2
End Sub
Private Sub TextBox8_Change() 'FenSacV2
End Sub
Private Sub CommandButton1_Click() 'ENREGISTRER
Unload Me
' devrait placer sur la première ligne vide dans la feuille de la base B (en partant de la fin : ligne 2000 seulement) :
' la date 'jjjj jjj mm' de ComboBox1 dans la feuille de base B en colonne A7 :A2000
' la valeur choisie dans comboBox2 dans la feuille de base B en colonne B7 :B2000
' une valeur forme 1 234,56 dans TextBox1 pour FenBrut0 en feuille B en colonne D7 2000
' une valeur forme 1 234,56 dans TextBox2 pour FenSacV0 en feuille B en colonne E7 :E2000
' une valeur forme 1 234,56 dans TextBox3 pour FenBrut0,5 en feuille B en colonne J7 :J2000
' une valeur forme 1 234,56 dans TextBox1 pour FenSacV0,5 en feuille B en colonne K7 :K2000
' une valeur forme 1 234,56 dans TextBox3 pour FenBrut1 en feuille B en colonne P7 2000
' une valeur forme 1 234,56 dans TextBox1 pour FenSacV1 en feuille B en colonne Q7 :Q2000
' une valeur forme 1 234,56 dans TextBox3 pour FenBrut2 en feuille B en colonne V7 :V2000
' une valeur forme 1 234,56 dans TextBox1 pour FenSacV2 en feuille B en colonne W7 :W2000
End Sub
Private Sub CommandButton2_Click() 'Bouton QUITTER
'Private Sub CommandButton1_Click() 'Nettoie ANNULER LA SAISIE - SORTIE
' Me.ComboBox1 = "" 'Date
' Me.ComboBox2 = "" 'Lieu
' Me.TextBox1 = "" 'FenBrut0
' Me.TextBox2 = "" 'FenSacV0
' Me.TextBox3 = "" 'FenBrut0,5
' Me.TextBox4 = "" 'FenSacV0,5
' Me.TextBox5 = "" 'FenBrut1
' Me.TextBox6 = "" 'FenSacV1
' Me.TextBox7 = "" 'FenBrut2
' Me.TextBox8 = "" 'FenSacV2
'For Each c In Me.UserForm1.Controls
' c.Value = False
'Next c
Unload Me ' Formulaire actif
End Sub
Bonjour,
Je vous propose qu’une aide me soit donnée pour ce qui est expliqué ci-après.
Je dispose d’un fichier, lourd pour être compressé ici.
J’ai besoin d’aide pour mon application commencée en VBA.
J’espère ne pas m’être trompé dans la composition de l’ensemble, et serais comblé si un spécialiste dans ce domaine pouvait me corriger les erreurs, y placer les oublis, et m’indiquer la marche à suivre pour finaliser la suite du travail sur deux points décrits ci-dessous.
Le fichier dispose d’une feuille de base de données que j’ai nommée B (en onglet)
J’ai créé un Userform 1, et suis fier d’être arrivé jusque là. Comment supprimer les points en fond pour « n’y voir que du bleu » ?
J’ai aussi préparé une feuille que j’ai nommée FICHE SAISIES. J’y ai placé un bouton « Formulaire de saisie » qui pourrait être en relation avec la fiche de saisies Userform1 déjà créée
1 - Mais là je ne sais pas comment faire. Selection image + affecter une macro, mais laquelle car à ce moment là je n’ai rien dans la fenêtre qui apparaît !
Peut-être est-il possible de faire paraître cette fiche de saisie Userform sur cette feuille FICHE SAISIES lors de son accès ?
Le bouton QUITTER devant avoir deux fonctions :
- ne pas enregistrer les valeurs entrées partiellement sur la fiche de saisie,
- faire partir de l’écran la fiche, la feuille ne retrouvant alors que bouton « Formulaire de saisie »
Je ne sais pas composer le code.
Il est d’ailleurs probable que la fin de ma liste ci-dessous ne soit pas bonne.
2 - Mais là je ne sais pas comment faire.
Avec Alt F11, j’ai tenté de placer les codes correspondants, ce qui a donné :
Private Sub UserForm1_Click() 'FICHE DE SAISIE
' Cette fenêtre de saisie devrait paraître en milieu d'écran de la feuille nommée FICHE SAISIESEnd Sub
Private Sub ComboBox1_Change() 'Fenêtre Date
'c'est une liste déroulante prise dans feuille Paramètres zone E2:E15
Sub Nbre_ZoneListe() 'devrait dimensionner la zone de liste suiv nbr enreg
Dim NbreEnreg As Integer
With UserForm1
.ComBox1.RowSource = "E2:E15" 'Dans la feuille nommée Paramètres
NbreEnreg = .ComBox1.ListCount
.ComBox1.ListRows = NbreEreg
.Show
End With
End Sub
Private Sub ComboBox2_Change() 'FenêtreLieu
'c'est une liste déroulante prise dans feuille Paramètres zone C2:C41
Sub Nbre_ZoneListe() 'devrait dimensionner la zone de liste suiv nbr enreg
Dim NbreEnreg As Integer
With UserForm1
.ComBox2.RowSource = "C2:C41" 'Dans la feuille nommée Paramètres
NbreEnreg = .ComBox1.ListCount
.ComBox1.ListRows = NbreEreg
.Show
End With
End Sub
Private Sub CommandButton2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
End Sub ‘j’ai l’impression que cette partie est inutile
Private Sub Label1_Click() 'Texte Date
End Sub
Private Sub Label2_Click() 'Texte Lieu
End Sub
Private Sub Label3_Click() 'Texte PBrut
End Sub
Private Sub Label4_Click() 'TexteCat0
End Sub
Private Sub Label5_Click() 'TexteCat0,5
End Sub
Private Sub Label6_Click() 'TexteCat1
End Sub
Private Sub Label7_Click() 'TexteCat2
End Sub
Private Sub Label9_Click() 'Texte PSacVide
End Sub
Private Sub TextBox1_Change() 'FenBrut0
End Sub
Private Sub TextBox2_Change() 'FenSacV0
End Sub
Private Sub TextBox3_Change() 'FeBrut0,5
End Sub
Private Sub TextBox4_Change() 'FenSacV0,5
End Sub
Private Sub TextBox5_Change() 'FenBrut1
End Sub
Private Sub TextBox6_Change() 'FenSacV1
End Sub
Private Sub TextBox7_Change() 'FenBrut2
End Sub
Private Sub TextBox8_Change() 'FenSacV2
End Sub
Private Sub CommandButton1_Click() 'ENREGISTRER
Unload Me
' devrait placer sur la première ligne vide dans la feuille de la base B (en partant de la fin : ligne 2000 seulement) :
' la date 'jjjj jjj mm' de ComboBox1 dans la feuille de base B en colonne A7 :A2000
' la valeur choisie dans comboBox2 dans la feuille de base B en colonne B7 :B2000
' une valeur forme 1 234,56 dans TextBox1 pour FenBrut0 en feuille B en colonne D7 2000
' une valeur forme 1 234,56 dans TextBox2 pour FenSacV0 en feuille B en colonne E7 :E2000
' une valeur forme 1 234,56 dans TextBox3 pour FenBrut0,5 en feuille B en colonne J7 :J2000
' une valeur forme 1 234,56 dans TextBox1 pour FenSacV0,5 en feuille B en colonne K7 :K2000
' une valeur forme 1 234,56 dans TextBox3 pour FenBrut1 en feuille B en colonne P7 2000
' une valeur forme 1 234,56 dans TextBox1 pour FenSacV1 en feuille B en colonne Q7 :Q2000
' une valeur forme 1 234,56 dans TextBox3 pour FenBrut2 en feuille B en colonne V7 :V2000
' une valeur forme 1 234,56 dans TextBox1 pour FenSacV2 en feuille B en colonne W7 :W2000
End Sub
Private Sub CommandButton2_Click() 'Bouton QUITTER
'Private Sub CommandButton1_Click() 'Nettoie ANNULER LA SAISIE - SORTIE
' Me.ComboBox1 = "" 'Date
' Me.ComboBox2 = "" 'Lieu
' Me.TextBox1 = "" 'FenBrut0
' Me.TextBox2 = "" 'FenSacV0
' Me.TextBox3 = "" 'FenBrut0,5
' Me.TextBox4 = "" 'FenSacV0,5
' Me.TextBox5 = "" 'FenBrut1
' Me.TextBox6 = "" 'FenSacV1
' Me.TextBox7 = "" 'FenBrut2
' Me.TextBox8 = "" 'FenSacV2
'For Each c In Me.UserForm1.Controls
' c.Value = False
'Next c
Unload Me ' Formulaire actif
End Sub