VBA

Bonjour

j'ai mis en place un formulaire ou les éléments s' enregistres ligne par ligne dans le tableau "recap"

a cela je voudrai sur le modèle via l'onglet "trame "

a chaque nouvelle ligne sur validation du bouton valider de mon formulaire ,je voudrais qu'une fiche soit crée sur un nouvelle onglet avec tout les éléments rentré dans le formulaire sur le support de ma trame

et que cet onglet porte le nom de ma colonne B soit B10 qui actuellement il y a une formule "=CONCATENER(Y10;"_"; Z10;"_";AE10)"

mon formulaire et la création du nouvelle onglet fonctionne mais mon problème est sur appellation de l'onglet et sur l'enregistrement des données

du formulaire

je vous remercie d'avance de votre aide

5ger-1.xlsm (149.28 Ko)

Bonjour

j'ai mis en place un formulaire ou les éléments s' enregistres ligne par ligne dans le tableau "recap"

a cela je voudrai sur le modèle via l'onglet "trame "

a chaque nouvelle ligne sur validation du bouton valider de mon formulaire ,je voudrais qu'une fiche soit crée sur un nouvelle onglet avec tout les éléments rentré dans le formulaire sur le support de ma trame

et que cet onglet porte le nom de ma colonne B soit B10 qui actuellement il y a une formule "=CONCATENER(Y10;"_"; Z10;"_";AE10)"

mon formulaire et la création du nouvelle onglet fonctionne mais mon problème est sur appellation de l'onglet et sur l'enregistrement des données

du formulaire

je vous remercie d'avance de votre aide

Re bonjour mon problème est bien sur la création d'onglet la macro me produit 3 onglet et mes donne ne s'enregistre pas dans la fiche et mon second problème est quand je réalise la deuxième fiche

sur le fichier joints j 'ai supprimé ma boucle mais le problème persiste

merci e votre aide

2ger-1.xlsm (150.49 Ko)
Private Sub CommandButton2_Click() 'Bouton VALIDER
Dim NewLig As Long
Dim c As Range

    With Sheets("Recap")
        NewLig = Application.Max(10, .Range("A" & Rows.Count).End(xlUp).Row + 1)
        .Range("A" & NewLig).Value = Application.WorksheetFunction.Max(Range("A:A")) + 1
        .Range("C" & NewLig).Value = TextBoxobjet
        .Range("Y" & NewLig).Value = ComboBox4
        .Range("Z" & NewLig).Value = TextBoxfiche
        .Range("AA" & NewLig).Value = CDate(TextBoxdate)
        .Range("AB" & NewLig).Value = TextBoximputation
        .Range("AC" & NewLig).Value = TextBoxlocalisation
        .Range("AD" & NewLig).Value = ComboBox1
        .Range("D" & NewLig).Value = ComboBox1
        .Range("AE" & NewLig).Value = TextBoxannée
        .Range("AF" & NewLig).Value = CheckBox1
        .Range("AG" & NewLig).Value = CheckBox2
        .Range("AH" & NewLig).Value = CheckBox3
        .Range("AI" & NewLig).Value = TextBoxconstat
        .Range("AJ" & NewLig).Value = TextBoxrisque
        .Range("AK" & NewLig).Value = TextBoxorigine
        .Range("AL" & NewLig).Value = TextBoxconservatoires
        .Range("AM" & NewLig).Value = TextBoxtravaux
        .Range("AN" & NewLig).Value = TextBoxobservation
        .Range("AO" & NewLig).Value = TextBoxconstructeur
        .Range("AP" & NewLig).Value = TextBoxdureevie1
        .Range("AQ" & NewLig).Value = TextBoxdureevie2
        .Range("AR" & NewLig).Value = TextBoximage
    End With

   Application.ScreenUpdating = False
    'On crée les onglets qui sont listés à partir de la cellule
    'A2 de l'onglet nommé Liste
    Set c = Worksheets("RECAP").Range("B10") 'cellule de départ

        'on copie le modèle en dernier
        Worksheets("TRAME").Copy After:=Worksheets(ThisWorkbook.Sheets.Count)

        With Worksheets(ThisWorkbook.Sheets.Count) 'avec l'onglet créé
            .Name = c.Value    'je renome

            'Je remplit mon modèle comme je veut...
            .Range("B3") = TextBoxobjet
              .Range("A6") = TextBoxfiche
                .Range("B6") = TextBoxdate
                 .Range("C6") = TextBoximputation
                  .Range("D6") = TextBoxlocalisation
                   .Range("E6") = ComboBox1
                    .Range("F6") = TextBoxannée
                     .Range("G6") = ComboBox4
                     .Range("A9") = TextBoxconstat
                      .Range("E11") = CheckBox1
                       .Range("E12") = CheckBox2
                        .Range("E13") = CheckBox3
                         .Range("A16") = TextBoxrisque
                          .Range("A21") = TextBoxorigine
                           .Range("A26") = TextBoxconservatoires
                            .Range("A30") = TextBoxtravaux
                             .Range("A35") = TextBoxobservation
                              .Range("H15") = TextBoxconstructeur
                                .Range("K17") = TextBoxdureevie1
                                 .Range("K18") = TextBoxdureevie2
                                  .Range("H20") = TextBoximage

        End With

            Application.ScreenUpdating = True

    Unload UserForm1
End Sub
Rechercher des sujets similaires à "vba"