Je dois réaliser un fichier excel avec un formulaire de saisie.
J'ai trouvé sur internet un code qui m'intéresse, que j'ai modifié +- selon mes besoins et que je vous présente ci-dessous car tous ne va pas comme je veux.
Je précise que je suis débutant, que j'ai zappé des cours pour passer directement à la saisie de formulaire car c'est urgent.
A l'ouverture du fichier excel, le formulaire se met en route mais sur la deuxième textbox.
Je voudrais modifier le nom des textbox dans le code pour l'adapter à mes besoins, mais là erreur.
Même chose quand je veux rajouter une colonne dans le code.
Pouvez-vous m'aider à modifier ce code simplement sans fioriture de manière à ce que je puis (pour un débutant) le modifier si je dois rajouter des informations.
Voici ci dessous le code que j'utilise et qui fonctionne. Mais quand je change les label dans le code et dans les propriétés des textbox, erreur.
J'ai aussi joint une image pour essayé d'être plus clair.
Je vous remercie tous d'avance.
Private Sub CommandButton_Fermer_Click()
Unload Me
End Sub
La prochaine fois utilise les balises zCodes associées, ton code sera plus lisible.
Sinon j'ai bidouillé un peu ton code et pour moi ça donne ceci (testé et validé sous Excel 2003).
Private Sub CommandButton_Fermer_Click()
'appui sur le bouton "fermer" décharge le formulaire
Unload Me
End Sub
Private Sub UserForm_Initialize()
'initialisation du formulaire
'les labels sont de couleur noire
Label_Civilite.ForeColor = RGB(0, 0, 0)
Label_Nom.ForeColor = RGB(0, 0, 0)
Label_Prenom.ForeColor = RGB(0, 0, 0)
Label_Adresse.ForeColor = RGB(0, 0, 0)
Label_Lieu.ForeColor = RGB(0, 0, 0)
End Sub
Private Sub CommandButton_Ajouter_Click()
'vérification des champs
'chacun dans un if différent
'puisque les champs sont indépendants
'le 2ème n'est pas forcément vérifié à la suite du 1er
'selon ce mode opératoire
'si c'est vide alors on le colore en rouge
'sinon on le colore en noir (car pas vide)
If TextBox_Civilite.Value = "" Then
Label_Civilite.ForeColor = RGB(255, 0, 0)
Else
Label_Civilite.ForeColor = RGB(0, 0, 0)
End If
If TextBox_Nom.Value = "" Then
Label_Nom.ForeColor = RGB(255, 0, 0)
Else
Label_Nom.ForeColor = RGB(0, 0, 0)
End If
If TextBox_Prenom.Value = "" Then
Label_Prenom.ForeColor = RGB(255, 0, 0)
Else
Label_Prenom.ForeColor = RGB(0, 0, 0)
End If
If TextBox_Adresse.Value = "" Then
Label_Adresse.ForeColor = RGB(255, 0, 0)
Else
Label_Adresse.ForeColor = RGB(0, 0, 0)
End If
If TextBox_Lieu.Value = "" Then
Label_Lieu.ForeColor = RGB(255, 0, 0)
Else
Label_Lieu.ForeColor = RGB(0, 0, 0)
End If
'si on détecte un champ vide parmi tous
'alors on quitte la procédure
'--> aura pour effet d'annuler le clic sur le bouton d'ajout
If TextBox_Civilite.Value = "" Or _
TextBox_Nom.Value = "" Or _
TextBox_Prenom.Value = "" Or _
TextBox_Adresse.Value = "" Or _
TextBox_Lieu.Value = "" Then
Exit Sub
End If
'Si le formulaire est complet,
'on insère les valeurs sur la feuille
Dim no_ligne As Integer
'no_ligne = N° de ligne de la dernière cellule
'non vide de la colonne +1
no_ligne = Range("A65536").End(xlUp).Row + 1
'Insertion des valeurs sur la feuille
Cells(no_ligne, 1) = TextBox_Civilite.Value
Cells(no_ligne, 2) = TextBox_Nom.Value
Cells(no_ligne, 3) = TextBox_Prenom.Value
Cells(no_ligne, 4) = TextBox_Adresse.Value
Cells(no_ligne, 5) = TextBox_Lieu.Value
'Après insertion, on remet les valeurs initiales
TextBox_Civilite.Value = ""
TextBox_Nom.Value = ""
TextBox_Prenom.Value = ""
TextBox_Adresse.Value = ""
TextBox_Lieu.Value = ""
End Sub
Le Kansas City Shuffle.. c’est quand tout le monde regarde à gauche et que tu vas à droite.
VBA Excel
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Kansas City Shuffle.. c’est quand tout le monde regarde à gauche et que tu vas à droite.