Formulaire de saisie

Ben si j'ai modifié le fichier en suivant vos conseils ,

et quand vous parler de H à la place de H ,on parle bien de la colonne H?

If Sheets(i) , mais de ce "i" là !!?

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

With Sheets("Aremplir")
For Each Cel In .Range("H8:H" & .Range("H" & 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("Fiche1").Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = "Fiche" & i - 2
.Range("C4") = Cel.Value
End With
End If
Existe = 0
Next Cel
End With
End Sub

Non, la cellule C4 était juste un test , mais c'est bon plus besoin de ca ! désolé

et quand vous parler de H à la place de H ,on parle bien de la colonne H?

???. je ne vous ai pas parlé de H dans ce message. mais de chiffre. Relisez ...

Non, la cellule C4 était juste un test , mais c'est bon plus besoin de ca ! désolé

Incroyable là.
Ben faut tout refaire car c'est la valeur C4 qui vous évite les doublons

Quel est le but du code ? Créer des fiches vierges de données sur base d'une fiche modèle et ce en fonction du nombre d'écoles mentionnées en colonne H ?

Là je ne comprends plus votre fonctionnement dans le fichier.

Bonjour

oui désolé , moi même je me suis embrouillé sur ce fichier ,j'ai fait des test, des re test ,vous m'avez aider ,beaucoup même, mais j'ai changé ensuite de manip !du coup...ben...

en fait ,le directeur doit saisir le nombre d'enseignants dans sont école : exemple 22 ; donc la il faudrait donc 22 copies exact de la "fiche_1" ou "fiche 1"

idem s'il valide 12, 12 fiches devraient apparaitre.

c’était ca que je voulais en fait.

Le nom des écoles est juste pour l'inspecteur ou un conseiller pédagogique qui pourrat saisir les noms des école ,juste cela en fait.

en fait on a perdu beaucoup de temps et d'énergie la dessus ,sincérement désolé.

Merci encore pour tout monsieur.

Bonjour

en fait ,le directeur doit saisir le nombre d'enseignants dans sont école : exemple 22 ; donc la il faudrait donc 22 copies exact de la "fiche_1" ou "fiche 1"

idem s'il valide 12, 12 fiches devraient apparaitre

C'est complétement différent ce que vous demandez là. Dans votre demande il s'agissait de dupliquer la fiche 1 autant de fois que vous avez d'école en colonne H.

Ici vous me parlez de créer selon le nombre d'enseignants, donc mentionné en E12.

Je ne vois pas l'utilité de créer x fiche si au départ vous n'y ajoutez rien dedans.
En gros, pourquoi dupliquer en fonction du nombre d'enseignant un nombre de fiche identique sans rien y ajouter par le code.

Est-ce qu'il ne serait pas plus simple que le clic sur le bouton ajout fiche crée seulement une fiche (sur base de la fiche 1) quand on en a besoin car une fois les x fiches crées dans le fichier, vous en faites quoi.

Ben disons que le fait que x fiches se créer automatiquement serait, à mon sens, plus simple ,non?

car faire un clic de souris, faire une copie de cette feuille ,va créer un nouvelle feuille "fiche 1(1)" ,et ainsi de suite...

et je suis pas certains que beaucoup de personne pourrons renommer la "fiche 1(1)" en 'fiche 2" etc....

c'était le coté pratique en fait!

voila pourquoi

car faire un clic de souris, faire une copie de cette feuille ,va créer un nouvelle feuille "fiche 1(1)" ,et ainsi de suite...

et je suis pas certains que beaucoup de personne pourrons renommer la "fiche 1(1)" en 'fiche 2" etc....

Non le click nommera fiche1 vers fiche2.

On peut créer selon la mention en E12 (ici 22 ) mais je dois comprendre pourquoi vous vouez créer 22 fiches avec rien dedans. Comment le prof sait quelle est la fiche qui le concerne. Nommer des fiches avec un indice n'est pas parlant du tout
Puis là comment on va traiter le doublon ?
Fais comme cela si je clique sur ajout fiche, je crée 22 fiches. Si je reclique, je vais avoir de nouveau 22 nouvelles fiches....

On peut modifier la feuille Aremplir ?

Sinon dans votre fichier vous pouvez remplacer le code creer_fiche par celui ci-dessous

Sub Creer_Fiche()
Dim i As Byte

With Sheets("Aremplir")
    For i = 1 To Range("E6")
        Sheets("Fiche1").Copy after:=Sheets(Sheets.Count)
        ActiveSheet.Name = "Fiche" & i + 1
    Next i

End With
End Sub

Bien le bonjour

ce document est pour un directeur d'école en fait ,qui lui doit générer autant de fiche qu'il a d'enseignant. s'il a 15 enseignants ,il saisie 15 ,et hop , un clique sur le bouton, et hop 15 fiches.

Que voulez vous modifier dans la feuille "Aremplir" ? attention sur cette feuille ,colonne A ,il y a des formule ,qui permettent de générer X lignes sur une autre feuille de synthèse (non présente ici dans mon document).

Mais sinon oui elle peut etre modifiée, améliorée meme ! :)

on pourrait même envisagé qu'il écrive meme les noms de personnes ,(sur la feuille "Aremplir") que ces noms apparaissent sur cette meme feuille ,et que, hop, il valide les X feuilles avec les noms des enseignants , non?

Comme cela , le directeur aura toutes ces fiches, avec le nom et prénom de la personne , enseignantes, ou autre poste dépendant de l'école. ,ca serait pas mal ca ! non?

Vous en pensez quoi?

dans l'attente de vous lire.

Bonjour,

Que voulez vous modifier dans la feuille "Aremplir" ? attention sur cette feuille ,colonne A ,il y a des formule ,qui permettent de générer X lignes sur une autre feuille de synthèse (non présente ici dans mon document).

Mais sinon oui elle peut etre modifiée, améliorée meme ! :)

C'est juste un détail pour éviter au max la fusion de cellules. A voir plus tard si besoin

on pourrait même envisagé qu'il écrive meme les noms de personnes ,(sur la feuille "Aremplir") que ces noms apparaissent sur cette meme feuille ,et que, hop, il valide les X feuilles avec les noms des enseignants , non?

Comme cela , le directeur aura toutes ces fiches, avec le nom et prénom de la personne , enseignantes, ou autre poste dépendant de l'école. ,ca serait pas mal ca ! non?

Vous en pensez quoi?

Je pense que devriez mieux définir la finalité. Après on fait ce que l'on veut mais à chaque changement de direction, le code devra évoluer voire tout recommencer.

Je vous ai placé un nouveau code en fonction de votre demande. L'avez-vous testé ?

Cordialement

Super votre code

il génère X fiche , juste un petit bug que vous aller surement résoudre !

la copie démarre a fiche 1 ,puis "fiche 1(2); puis "Fiche2"; puis "Fiche3" etc....

regardez le fichier joint avec les 23 fiches au lieu de 22

Pourquoi me mettez vous un fichier ? j'ai le votre, donc merci de ne pas poster inutilement. Cela ne fait qu'alourdir le forum.
Merci de le supprimer en éditant votre post précédent.

la copie démarre a fiche 1 ,puis "fiche 1(2); puis "Fiche2"; puis "Fiche3" etc....

regardez le fichier joint avec les 23 fiches au lieu de 22

Non il ne crée pas de fiche supplémentaire.

Refaites le test et supprimer toute vos feuilles y compris la feuille Fiche (1) 2 que vous avez laissée dans le fichier

Bonjour,

désole de ma réponse tardive, mais je ne pouvais pas répondre avant.

donc j'ai ajouter sur mon fichier le bouton "ajouter enseignant" en me basant sur votre code VBA , sauf que.... of course .... no way

c'est vraiment galère pour moi ce code VBA !

Pourriez vous ,quand vous aurez du temps bien sur, jetez un oeil la dessus , en vous remerciant énormément.

Bonjour

Hum... votre fichier aurait besoin d'un coup de balai..

Faites déjà ceci :
- Dans le menu excel, cliquez sur Formules puis Gestionnaire de noms
- Allez au nom "Ecole_Votre_Circo2" et sélectionnez le
- Cliquez sur le bouton MODIFIER
- Dans la rubrique Noms, changez le libellé par ceci --> Enseignants
- Allez dans VBA et mettez le code ci-dessous
- Associez votre bouton à cette macro

Sub ajouter_enseignant()
Dim Lig As Integer
With Worksheets("Aremplir").ListObjects("Enseignants")
    If .ListRows.Count = 0 Then
        .ListRows.Add: Lig = 1
    Else: .ListRows.Add: Lig = .ListRows.Count
    End If
    .DataBodyRange.Item(Lig, 1) = Range("E12").Value
End With
End Sub

- Dans votre feuille "Aremplir", sélectionnez la cellule K6
- Click droite sur cette cellule, puis choisir "Supprimer" --> "Lignes de tableau"

A noter que :
- lorsque vous serrez dans le gestionnaire de nom, vous devriez faire un peu le ménage et supprimer tous les noms inutiles qui comporte #REF.
- vous avez deux fois les codes "ajouter_ ecole" et "effacer"

Bonjour

concernant les #REF , c'est du à des feuilles que j'ai supprimé sur ce documents , donc les ref ont disparues.

donc j'ai bien recopié collé votre code VBA mais j'ai toujours l'erreur à cette ligne

With Worksheets("Aremplir").ListObjects("Enseignants")

j'ai bien supprimé dans la rubrique des noms , les tableau "Enseignants" et j'ai refait a zéro , j'ai bien sélectionner la cellule K6 .

Bonjour

j'ai bien supprimé dans la rubrique des noms , les tableau "Enseignants"

???? c'est pas ce que je vous ai dit de faire
Si le code s'arrête sur cette ligne c'est que le nom Enseignants n'est pas défini
J'ai l'impression que vous sautez des étapes dans mes explications.

- Dans le menu excel, cliquez sur Formules puis Gestionnaire de noms
- Allez au nom "Ecole_Votre_Circo2" et sélectionnez le
- Cliquez sur le bouton MODIFIER
- Dans la rubrique Noms, changez le libellé par ceci --> Enseignants

si j'ai bien lu, mais je n'ai pas "Ecole_votre_circo2"

Alors cela doit fonctionner
1. Enseignants est bien écrit comme cela ? Respect des majuscules et minuscules ?
2. dans le fichier posté, vous avez deux fois le code ajoute école et deux fois la macro effacer école (voyez dans le module 3)
Faudrait peut être faire le ménage dans votre fichier

Sinon, envoyez moi votre fichier original avec le bug

Bonjour,

Le module 3 correspond bien au bouton "ajouter un enseignant"

je vous le redonne donc. Merci encore.

Bonjour,

Mais c'est normal votre souci vous me repostez un autre fichier. Je ne comprends pas ce que vous faites dans vos modifications et vous ne suivez rien de ce que je vous écris

- Vous supprimez le tableaux structuré "Enseignants" en K et le tableau "Ecole votre circo" en H est aussi supprimé !!!
- Le module 3 ne sert à rien les codes sont déjà dans le module 2
- Les REF# sont toujours là !

Je vous reposte le fichier correct sur lequel j'ai fait les modifications que je vous donné tout au long du fil.

Soit vous utilisez celui là ou j'abandonne

Désolé

Excusez moi,

les REF correspondent a des tableaux se trouvant sur d'autre feuilles ,qui elles ne sont plus présente sur le doc que je vous ai envoyé ,donc la ya pas de souci

Et oui j'ai supprimé le tableau enseignant , ca c'est une erreur ,désolé encore

en tout cas ,merci pour tout ce temps a m'aider

je viens de comprendre ,

j'avais supprimé le tableau croisé "Enseignants " en fait!

du coup c'est normal que ca marchait pas !!

vraiment navré !

Rechercher des sujets similaires à "formulaire saisie"