Formulaire pour un tableau fixe

Bonjour à Tous,

En fouinant un peu j'ai pu mettre en pratique les astuces et aboutir au fichier suivant:

Maintenant je voudrais le personnaliser mais je bute sur plusieurs points. Sur la feuille "site" j'ai creer deux boutons qui lance deux formulaires. Le premier formulaire "setup" ouvre un forme avec les champs Site code et IP address.

Une fois les champs remplis et qu'on clique sur OK, la feuille "Site" cellue H1 se renomme. Ensuite, la cellule D3 prend la valeur du champ saisi xx (2 caractères) et la cellule D4 prend l'autre valeur yyy (3 caractères) de tel sorte à former

une adresse IP correcte.

Le second formulaire doit pouvoir renseigner notre tableau "Tbmaster" dans la feuille Base. Mais il se trouve que le tableau a certaines valeur qui doivent etre aussi visible dans le formulaire.

Si les valeurs sont absentes, on les rempli puis on click sur save et les informations se renseignent sur les lignes concernées.

Attention: J'ai mis des listes deroulantes en place dans le tbmaster qui force à selectionner le Type en fonction de la famille. Le tBmaster dans Base fonctionne correctement en manuel.

J'ai essayé de le remplir avec le formulaire mais sans succès. C'est pourquoi je sollicite votre aide.

Voila en quelques sortes les points ou je bute. Merci de vos orientations et soutiens.

Autre chose que je voudrais créer serait de mettre un buton me permettant de dupliquer les feuilles "Family" et "Type" et les renommer par les valeurs definit dans les listes de validation existantes. En effet j'ai mis des filtres automatiques avec une macro sur worksheet.

Merci pour votre aide.

Hello,

Finalement avec assez de recherches j'ai pu réaliser ce que je voulais. Maintenant je souhaiterai mettre un formatage test sur le textbox4 dans le userform1. J'ai deja limité le nombre de caractere à 14. Les restrictions sont les suivantes:

Les 3 premiers caracteres doivent etre des lettre majuscule A-Z
Les 6 caracteres suivants doivent etre des chiffres de 0-9
Le 10 eme charactere est fixe "-" dasch ou code Ascii 45.
Les 4 derniers caractères sont des chiffres de 0-9

En résumé, nous avons AAAxxxxxx-xxxx (AAA lettre majuscule de A à Z et x chiffre de 0 à 9)

Merci pour vos orientations.

Bonjour Xmas, bonjour le forum,

Peut-être comme ça :

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'à l'appui sur une touche dans la Textbox
Dim TEST As Boolean 'déclare la variable TEST

TEST = False 'TEST est [faux]
Select Case Len(Me.TextBox1.Value) 'agit en fonction du nombre de caractères de la textBox (attention ! cette valeur est compté après...)
    Case Is > 13 'quand le mot est terminé
        Exit Sub 'sort de la procédure
    Case Is <= 2 'de un à 3 caractères
        If KeyAscii < 65 Or KeyAscii > 90 Then KeyAscii = KeyAscii - 32 'remplace les minuscules par des majuscule
    Case Is <= 8 'de 3 à 9 caractères
        If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8: TEST = True: GoTo Erreur 'efface si non numérique, va à l'étiquette "Erreur"
    Case 9 'le 10ème caractère
        If KeyAscii <> 45 Then KeyAscii = 45 'remplace n'importe quelle valeur par "-"
    Case Is > 10 'au dela du 11ème caractère, 'efface si non numérique, va à l'étiquette "Erreur"
        If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8: TEST = True: GoTo Erreur
End Select 'fin de l'action en fonction du nombre de caractères de la textBox
Exit Sub 'sort de la procédure
Erreur: 'étiquette
MsgBox "Le format imposé est AAAxxxxxx-xxxx (AAA lettre majuscule de A à Z et x chiffre de 0 à 9)" 'message
End Sub

Hello ThauThème and Forum,

Merci pour ta reponse parfaite, je vais me baser la dessus pour finalisation.

Cordialement

Bonjour Xmas, bonjour le forum,

Peut-être comme ça :

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'à l'appui sur une touche dans la Textbox
Dim TEST As Boolean 'déclare la variable TEST

TEST = False 'TEST est [faux]
Select Case Len(Me.TextBox1.Value) 'agit en fonction du nombre de caractères de la textBox (attention ! cette valeur est compté après...)
    Case Is > 13 'quand le mot est terminé
        Exit Sub 'sort de la procédure
    Case Is <= 2 'de un à 3 caractères
        If KeyAscii < 65 Or KeyAscii > 90 Then KeyAscii = KeyAscii - 32 'remplace les minuscules par des majuscule
    Case Is <= 8 'de 3 à 9 caractères
        If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8: TEST = True: GoTo Erreur 'efface si non numérique, va à l'étiquette "Erreur"
    Case 9 'le 10ème caractère
        If KeyAscii <> 45 Then KeyAscii = 45 'remplace n'importe quelle valeur par "-"
    Case Is > 10 'au dela du 11ème caractère, 'efface si non numérique, va à l'étiquette "Erreur"
        If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8: TEST = True: GoTo Erreur
End Select 'fin de l'action en fonction du nombre de caractères de la textBox
Exit Sub 'sort de la procédure
Erreur: 'étiquette
MsgBox "Le format imposé est AAAxxxxxx-xxxx (AAA lettre majuscule de A à Z et x chiffre de 0 à 9)" 'message
End Sub
Rechercher des sujets similaires à "formulaire tableau fixe"