sniper2002
XLDnaute Occasionnel
Bonjour
j'ai construis un userform, l'utilisateur doit remplir les champs du formulaires,
le boutton "enregistrer" sert à enregistrer dans la dernière ligne vide de l'onglet "changement de PA"
donc à travers votre forum j'ai bien chercher dans les topics qui correspond à mon besoin afin d'essayer d'élaborer une macro mais ça marche pas, j'ai beau chercher la cause : (je tiens à préciser que je suis débutant dans ce domaine! je ne connais pas beaucoup, je prefère tenter quelque chose au lieu de demander une solution clé en main).
le code que j'ai compilé est le suivant :
Sub enregistrerBA()
Dim cbpa As Worksheet
Dim S As Control
Dim T As String
Dim ligne As Long
'Definir la feuil changement de PA'
Set cbpa = Worksheets("Changement de PA")
'revoie la 1ère non vide dans la colonne A'
ligne = cbpa.Range("A65536").End(xlUp).Row + 1
'Boucle sur les contrôles du Userform pour s'assurer qu'il ne sont pas vides'
For Each S In BPA.Controls
Select Case True
Case TypeOf S Is MSForms.TextBox, TypeOf S Is MSForms.ComboBox
If S.Value = "" Then
MsgBox "Vous devez remplir tous les champs pour pouvoir enregistrer la baisse de prix !", _
vbExclamation, "Champ resté vide"
Exit Sub
End If
Case Else
End Select
Next S
'Quand tous contrôles sont remplis
RowCount = Worksheets("copie").Range("A2").CurrentRegion.Rows.Count
With Worksheets("copie").Range("A2")
.Offset(RowCount, 0).Value = Me.combox1.Value
.Offset(RowCount, 1).Value = Me.TextBox1.Value
.Offset(RowCount, 2).Value = Me.TextBox3.Value
.Offset(RowCount, 3).Value = Me.combox2.Value
.Offset(RowCount, 4).Value = Me.TextBox4.Value
.Offset(RowCount, 5).Value = Me.TextBox5.Value
.Offset(RowCount, 6).Value = Me.TextBox6.Value
End With
End Sub
encore une fois merci pour votre aide
en vous souhaitant un joyeux noêl
j'ai construis un userform, l'utilisateur doit remplir les champs du formulaires,
le boutton "enregistrer" sert à enregistrer dans la dernière ligne vide de l'onglet "changement de PA"
donc à travers votre forum j'ai bien chercher dans les topics qui correspond à mon besoin afin d'essayer d'élaborer une macro mais ça marche pas, j'ai beau chercher la cause : (je tiens à préciser que je suis débutant dans ce domaine! je ne connais pas beaucoup, je prefère tenter quelque chose au lieu de demander une solution clé en main).
le code que j'ai compilé est le suivant :
Sub enregistrerBA()
Dim cbpa As Worksheet
Dim S As Control
Dim T As String
Dim ligne As Long
'Definir la feuil changement de PA'
Set cbpa = Worksheets("Changement de PA")
'revoie la 1ère non vide dans la colonne A'
ligne = cbpa.Range("A65536").End(xlUp).Row + 1
'Boucle sur les contrôles du Userform pour s'assurer qu'il ne sont pas vides'
For Each S In BPA.Controls
Select Case True
Case TypeOf S Is MSForms.TextBox, TypeOf S Is MSForms.ComboBox
If S.Value = "" Then
MsgBox "Vous devez remplir tous les champs pour pouvoir enregistrer la baisse de prix !", _
vbExclamation, "Champ resté vide"
Exit Sub
End If
Case Else
End Select
Next S
'Quand tous contrôles sont remplis
RowCount = Worksheets("copie").Range("A2").CurrentRegion.Rows.Count
With Worksheets("copie").Range("A2")
.Offset(RowCount, 0).Value = Me.combox1.Value
.Offset(RowCount, 1).Value = Me.TextBox1.Value
.Offset(RowCount, 2).Value = Me.TextBox3.Value
.Offset(RowCount, 3).Value = Me.combox2.Value
.Offset(RowCount, 4).Value = Me.TextBox4.Value
.Offset(RowCount, 5).Value = Me.TextBox5.Value
.Offset(RowCount, 6).Value = Me.TextBox6.Value
End With
End Sub
encore une fois merci pour votre aide
en vous souhaitant un joyeux noêl