EXCEL_2007_VBA_USERFORM_DYNAMIQUE_14_DEBUG

EXCEL_2007_VBA_USERFORM_DYNAMIQUE_14_DEBUG

Excel VBA éviter saisie hors liste de données

Comment éviter la saisie en dehors de la liste de données dans Excel VBA en moins de 3 min.

EXCEL_2007_VBA_USERFORM_DYNAMIQUE_14_DEBUG

Version Dailymotion :


EXCEL_2007_VBA_USERFORM_DYNAMIQUE_14_DEBUG

L’objectif est de débuguer les différents problèmes liés à la saisie hors liste de données. d’éviter la saisie hors liste de donnée par un renvoi à la ligne non vide, lorsque l’on appui sur le bouton formulaire. 

Double-clic sur l’userform crée dans l’Userform :

Private Sub UserForm_Initialize()
Dim tbox_uf As MSForms.Control
Dim etiquette_uf As MSForms.Control
Dim Champs_Cel As Range
Dim i_nbr_control As Integer
i_nbr_control = 1
ReDim dynamicTextbox(0)

If ActiveCell.Row = 1 Then
Range(“A2”).Select
ElseIf ActiveCell.Row > Range(“A” & ActiveSheet.Rows.Count).End(xlUp).Row Then
Range(“A” & ActiveSheet.Rows.Count).End(xlUp).Select
End If

Rows(ActiveCell.Row).Select

For Each Champs_Cel In FEUIL2.UsedRange.Resize(1)

Set etiquette_uf = Me.Controls.Add(“Forms.label.1”, “etiquette_” & Champs_Cel.Value, True)
With etiquette_uf
.Caption = Champs_Cel.Value
.Top = i_nbr_control * 20 + 21
.Left = 8
.Width = 80
.Height = 12
End With

Set tbox_uf = Me.Controls.Add(“Forms.textbox.1”, “Textbox_” & Champs_Cel.Address, True)
With tbox_uf
.Top = i_nbr_control * 20 + 21
.Left = etiquette_uf.Left + etiquette_uf.Width + 10
.Width = 120
.Value = Cells(ActiveCell.Row, Champs_Cel.Column).Value

End With
ReDim Preserve dynamicTextbox(UBound(dynamicTextbox) + 1)
Set dynamicTextbox(UBound(dynamicTextbox) – 1).tbox_uf = tbox_uf

i_nbr_control = i_nbr_control + 1
Next
End Sub

Ci-dessous le résultat :

EXCEL_2007_VBA_USERFORM_DYNAMIQUE_14_DEBUG

Excel VBA éviter saisie hors liste de données

Code source VBA :

EXCEL_2007_VBA_USERFORM_DYNAMIQUE_14_DEBUG

Excel VBA éviter saisie hors liste de données

Recevoir la newsletter

Inscrivez-vous maintenant et recevez un e-mail les fois où je publie du contenu.

I agree to have my personal information transfered to AWeber ( more information )

Je hais les spams. Vous pouvez vous désinscrire à tout moment.

Taggé .Mettre en favori le Permaliens.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *