Formulaire de saisie

Bien le bonjour

est ce que quelqu'un pourrait m'éclairer ,car je suis pas très fort en VBA

j'ai regarder des tutos ici et la , en essayant d'adapté avec mon fichier ,mais ça cloche encore.

voila, je voudrais simplement remplir un tableau "ecole de votre circo" avec la cellule F13 .

J'ai créer un bouton ,mais le tableau ne se remplit pas !!

ca fait des heures que je cherche...sans résultats..

Pourriez vous m'aider ,please !

Bonjour

remplacez votre code par celui ci

Sub ajouter_ecole()
Dim Lig as Integer
With Worksheets("Feuil1").ListObjects("Ecoles_votre_circo")
    If .ListRows.Count = 0 Then
        .ListRows.Add: lig = 1
    Else: .ListRows.Add: lig = .ListRows.Count 'insérer à la dernière ligne
    End If
    .DataBodyRange.Item(lig, 1) = Range("F13").Value
End With
End Sub

Important en premier lieu
- sélectionnez les cellules I11 à I26
- Click droite et choisir "Supprimer" --> "Lignes de tableaux"
- ensuite exécutez le code

Aure chose : au risque de me répéter pour la nième fois sur ce forum, évitez les cellules fusionnées !!. Dans votre fichier, la fusion de vos colonnes D,E et F,G ne sert à rien. Vous n'avez besoin que de deux colonnes !

Cordialement

Bonjour

désolé de ma réponse tardive.

Bon ca marche super la !

Merci beaucoup ,je viens de testé cela, mais ,juste question , pourquoi l'ajout d'une école ce fait par le bas en I38, et pas en commençant par la cellule I11 ?

sinon la cellule K11 ne sert à rien en fait.

pis....... autre question, comment pourrais faire pour ajouter, via un bouton, une copie exact de la feuille 'Fiche1", pour qu'elle devienne "fiche 2" ? et encore une autre pour faire "Fiche 3"....etc avec bien sur le nom de l'école qui s'aoute cellule en C4 de "Fiche 1"

Merci encore

En fait c'est la version 2 que je voulais envoyé,

en plus j'arrive pas à supprimer le 2 eme bouton "créer fiche"

et la ca devient un peut le bazar dans mon code ,je suis perdu .

Bonjour,

Pas mal de question là...

Question 1 :

pourquoi l'ajout d'une école ce fait par le bas en I38, et pas en commençant par la cellule I11 ?

Vous êtes en tableaux structurés, c'est donc une erreur de vouloir pré formater votre tableau. Ici votre tableau commence en I5.
Dans le fichier posté, faites donc ceci avant d'ajouter votre première donnée :
- Sélectionnez les cellules I39 à I5
- Click droite et choisir "Supprimer" --> "Lignes de tableau" (attention ne pas utiliser la touche Suppr ou Delete de c-votre clavier !)
- Ensuite relancez le code et vous verrez que la première donnée se positionnera en I5 et que les suivantes se positionneront correctement en dessous

Pour supprimer une ligne dans un tableau structuré, vous devez toujours procéder de cette manière (Très important !!! )

Question 2 :

comment pourrais faire pour ajouter, via un bouton, une copie exact de la feuille 'Fiche1", pour qu'elle devienne "fiche 2" ? et encore une autre pour faire "Fiche 3"....etc avec bien sur le nom de l'école qui s'aoute cellule en C4 de "Fiche 1

- Votre fiche 1 est à considérer comme une fiche modèle ?
- Vous partez toujours de la fiche 1 ?
- Pour la fiche2, en C4 vous devez trouver la valeur de I6 ?

Question 3 :

j'arrive pas à supprimer le 2 eme bouton "créer fiche"

Assez simple, faite un clik droite sur le bouton, puis touche supp ou delete de votre clavier

Question 4 :

En fait c'est la version 2 que je voulais envoyé,

Les deux fichiers sont identiques....

Bonjour

Merci pour votre retour

j'ai pu ,c'est vrai,très facilement supprimé le bouton .

Merci j'ai pu effectivement gere les colonnes du tableau avec la cellule en I5, ça aussi c'est bon.

sinon oui ,la "fiche 1" est une base ,un modèle

et donc oui ,sur chaque nouvelle fiche ,il faudrait ajouter le nom de l'école que j'aurais saisis dans ma feuille "data"

Ais je été clair?

MErci encore pour tout

voila le fichier avec les petites modifs

Avant de vous poster le code, merci de confirmer
- Le code ajoutera une feuille sur base du click sur le bouton "Creer nouvelle Fiche" sur base de la Fiche 1 (considérée comme feuille Modèle).
- Le code crée la nouvelle fiche si non existante dans le fichier
- La nouvelle fiche sera nommé "Fiche" et un chiffre (un nom comme ceci --> Fiche_x). On évite les espaces dans le nom des onglets
- la cellule C4 comportera le nom de l'école concernée en colonne I

Cela suppose que votre fichier posté est bien l'original

Merci de confirmer

Bien le bonjour

oui tout a fait exact tout cela.

Oui la fiche 1 , est la fiche modele, car parfois il en faudra une 30aine.

et possibilité d'avoir le bouton effacer le tableau colonne I ,avec le bouton "effacer".

En vous remerciant infiniment.

Bonne journée.

Bonjour

Oui la fiche 1 , est la fiche modele, car parfois il en faudra une 30aine.

Ok. Voici le code à utiliser pour l'ajout des fiches suivant les données en colonne I.

Sub Creer_Fiche()
Dim Existe As Boolean
Dim i As Byte
Dim Cel As Range

With Sheets("Data")
    For Each Cel In .Range("I5:I" & .Range("I" & Rows.Count).End(xlUp).Row)
        'controle si la feuille existe
        For i = 1 To Sheets.Count
            If Sheets(i).Name Like "Fiche*" And Sheets(i).Range("C4") = Cel.Value Then Existe = 1: Exit For
        Next i
        'si feuille n'existe pas on ajoute
        If Existe = 0 Then
            Sheets("Fiche_1").Copy after:=Sheets(Sheets.Count)
            With ActiveSheet
                .Name = "Fiche_" & i - 1
                .Range("C4") = Cel.Value
            End With
        End If
        Existe = 0
    Next Cel
End With
End Sub

Le code ajoutera les fiches que vous avez créées en colonne I si elles n'existent pas déjà

possibilité d'avoir le bouton effacer le tableau colonne I ,avec le bouton "effacer".

Oui. Il doit remplacer le code "effacer_ecole" que je vois dans votre fichier posté ?

Autre question : En cellule G7 vous avez une formule qui renvoie /1 mais fait référence à E4 dans laquelle il n'y a pas de donnée. Quel est le but de cette info ?

Bien le bonjour Dan

super merci ,je vais testé cela de suite.

Oui le bouton '"effacer_école" je l'avais créer pour justement effacer le listing des écoles colonne I .

par contre en effaçant cette liste,cela n'effacera pas ni les fiches crées, ni les autres infos ?

Pour la cellule G7 ,ca c'est un petit bug, c'est réglé ,c’était pour ajouter +1 a l'année 2020 ! le code est cela en fait : ="/" &$F$7+1

ça j'ai pu gérer .

Merci encore pour tout. et surtout votre temps pour m'aider.

Bonjour

Oui le bouton '"effacer_école" je l'avais créer pour justement effacer le listing des écoles colonne I .

Mettez ce code dans un module et associez le à votre bouton

Sub Effacer_Ecole()
Worksheets("Data").ListObjects("Ecoles_votre_circo").DataBodyRange.Delete
End Sub

par contre en effaçant cette liste,cela n'effacera pas ni les fiches crées, ni les autres infos ?

Non du tout. Le code va juste effacer le tableau en colonne I. et comme expliqué précédemment, si vous recréez une école pour laquelle une fichier existe déjà, le code d'ajout, n'ajoutera rien.

Pour la cellule G7 ,ca c'est un petit bug, c'est réglé ,c’était pour ajouter +1 a l'année 2020 ! le code est cela en fait : ="/" &$F$7+1

Ok. J'ai noté !

Cordialement

Bonjour,

Je vous remercie pour tout .

le boutons effacer marche impec !super !

mais par contre, en adaptant toutes les macro à mon fichier perso ,il y a un souci avec le code "ajouter une fiche"

le bouton ne créer pas de copie exact de "la fiche1" comme je le voudrais.

En vous remerciant de votre aide.

Bonjour,

Ben c'est normal quand on ne met pas son bon fichier au départ.
Avant de penser code VBA, il faut préparer un bon fichier. Je répète cela continuellement sur ce forum et ne suis pas le seul à le dire.

Un rapide survol :
- Votre feuille fiche1 est nommée FICHE1. Dans le fichier que j'ai posté elle est nommée FICHE_1
- Feuille Aremplir, votre colonne H ne commence par au même endroit

Sinon dites moi votre problème

Cordialement

Bien le bonjour

disons que je ne voulais pas déposé mon vrai fichier ,c'est surtout pour des test au départ.

Bref , le fichier joint est le document sur lequel je travaille en ce moment.

donc ,oui tout fonctionne sauf le bouton "ajouter une nouvelle fiche" ,qui doit faire une copie exacte de la fiche1.

Merci d'avance.

donc ,oui tout fonctionne sauf le bouton "ajouter une nouvelle fiche" ,qui doit faire une copie exacte de la fiche1.

Dans le code Creer_Fiche modifiez ceci

- Range("H8:H... : changez le 8 en 6
- Plus bas il y a deux lignes où le mot FICHE_ est mentionné. Enlevez le signe _

Refaite un test

NB : comme je vous ai déjà dit avant, attention avec vos cellules fusionnées ! C'est source de bug et problème. Dans le fichier nul besoin de cela à certains endroits. les largeurs de colonnes ne sont pas figées.

yes on avance la ,super.

j'ai donc modifié comme vous me l'avez conseiller ,et oui ,en y regardant de plus pret ,c’était évident, mais comme je suis un super débutant dans le VBA ! :)

donc voila mon fichier avec les modif apportées ,sauf que en cliquant sur le bouton, c'est pas une fiche qui est créer a chaque fois, mais 2 d'un seul coup !

et pourquoi après "fiche1" c'est "fiche3" qui apparait? en étant logique cela devrai etre "fiche2" ,non?

Merci encore.

donc voila mon fichier avec les modif apportées ,sauf que en cliquant sur le bouton, c'est pas une fiche qui est créer a chaque fois, mais 2 d'un seul coup !

C'est écrit dans mon message sur l'utilisation du code --> https://forum.excel-pratique.com/s/goto/1015384 --> Le code ajoutera les fiches que vous avez créées en colonne I si elles n'existent pas déjà (ici i devient H)

et pourquoi après "fiche1" c'est "fiche3" qui apparait? en étant logique cela devrai etre "fiche2" ,non?

Oui là vous devez modifier cette ligne -> .Name = "Fiche" & i - 2

Autre point : Où doit allez l'info de l'école. C4 de votre ancien fichier va où ?

Merci

"Oui là vous devez modifier cette ligne -> .Name = "Fiche" & i - 2 " la maintenant c'est bon!

mais pour le doublons ,je ne comprend pas encore, désolé ,j'ai bien modifié , le i en H : colonne H

Mais j'ai toujours le doublon de fiche! j'ai pourtant bien fait un copier/coller de votre code.

pourrais je demander juste une petite chose encore, quand le bouton "ajouter fiche" est cliqué , est ce possible que la feuille ajouter vienne à la suite de la fiche1? afin de garder une harmonie ,fiche1 ; fiche2;fiche3 etc... c'est un détail certes ,mais cela serait mieux pour l'utilisateur final je pense.....

Merci bien

J'ai déjà votre fichier d'où nul besoin de reposter votre fichier sans quoi je dois repartir à zéro.

mais pour le doublons ,je ne comprend pas encore, désolé ,j'ai bien modifié , le i en H : colonne H

Comment voulez-vous que cela fonctionne ...
- Votre dernier fichier n'est pas modifié comme je vous ai écrit https://forum.excel-pratique.com/s/goto/1016675
- Je vous ai posé une question sur C4 et vous n'y répondez pas

pourrais je demander juste une petite chose encore, quand le bouton "ajouter fiche" est cliqué , est ce possible que la feuille ajouter vienne à la suite de la fiche1? afin de garder une harmonie ,fiche1 ; fiche2;fiche3 etc... c'est un détail certes ,mais cela serait mieux pour l'utilisateur final je pense.....

Tout est faisable. Mais à votre place plutôt que de nommer Fiche1 qui est un modèle, je l'aurais plutôt nommée FicheMod ou FicheModele (sans accent...). cela me paraissait plus pratique mais on peut laisser Fiche1 si vous aimez mieux

Rechercher des sujets similaires à "formulaire saisie"