Enregistrer des données à partir d'un formulaire

Bonjour à tous,

je suis un petit peu confuse ne comprenant pas pourquoi mon code ne fonctionne pas.

Mon projet :

- j'ai créé un formulaire qui a l'utilité de "fiche indication",pour que les utilisateurs du fichier excel puissent comprendre les indicateurs du fichier. Cette première fonction du formulaire fonctionne bien. Elle va chercher les informations dans l'onglet "fiche label" et rempli les textbox du formulaire selon les informations présentes dans cet onglet.

- je voulais également pouvoir faire le chemin inverse en "ajoutant un nouvel indicateur" grâce au formulaire. L'idée est de remplir les textbox via le formulaire, et les informations remplies seraient ensuite enregistrées dans l'onglet "fiche label" à la suite des autres indicateurs.

Mon problème est que seul le "nom de l'indicateur" est enregistré dans l'onglet, mais pas les autres informations et je ne comprends pas pourquoi..

J'espère que j'ai donné assez de détails pour comprendre l'objectif du formulaire

Merci beaucoup pour votre aide !
( le code n'est sûrement pas très optimisé mais au moins comme ça je le comprends facilement et je pourrais le maintenir facilement au besoin ...)

( et je n'ai pas non plus changé les noms des objets du formulaire, je me repère mieux ainsi + la partie "code indicateur" n'est pas finie non plus)

Ci dessous le code qui contrôle le bouton " valider le nouvel indicateur"

 Private Sub CommandButton4_Click()

    Dim ws As Worksheet
    Dim lastColumn As Long
    Dim newRow As Long
    Dim newIndicatorName As String

    ' Définir la feuille de calcul à utiliser
    Set ws = ThisWorkbook.Sheets("Fiche label")

    ' Effacer les valeurs des TextBox (sauf TextBox1)
    ClearTextBoxes

    ' Trouver la dernière colonne non vide dans la ligne 13
    lastColumn = ws.Cells(13, ws.Columns.Count).End(xlToLeft).Column

    ' Calculer la prochaine colonne disponible pour les nouvelles informations
    newRow = lastColumn + 1

    ' Remplir les informations dans la colonne correspondante
        'ws.Cells(13, newRow).Value = txtIntitule.Value
        ws.Cells(16, newRow).Value = TextBox2.Value
        ws.Cells(17, newRow).Value = TextBox3.Value
        ws.Cells(18, newRow).Value = TextBox4.Value
        ws.Cells(19, newRow).Value = TextBox5.Value

        ' Message de confirmation
        MsgBox "Nouvel Indicateur ajouté avec succès.", vbInformation, "Succès"

End sub
12fichier-neutre.xlsm (104.21 Ko)
Hello,

Si ton ClearTextboxes vide les textbox, ça veut dire que tu indiques du vide dans tes céllules.
J'imagine que Textbox1 = nom de l'indicateur, non ?

bonjour :)

je voulais mettre un cleartextboxes quand on clique sur "ajouter un nouvel indicateur"( commandbutton3) pour vider les zones de textes afin qu'on rentre les nouvelles informations, mais que le bouton "valider le nouvel indicateur" ( commandbutton4) enregistre le nouveau contenu des textboxes. La commande cleartextboxes est mal placée ?

le nom de l'indicateur il est dans la textboxe "txtIntitule"; la textbox1 c'est à partir du "N° de ligne dans l'onglet données"

Ah oui ça fonctionne beaucoup mieux en ne mettant pas ce cleartextbox ici ! Merci

Rechercher des sujets similaires à "enregistrer donnees partir formulaire"