VBA (plusieurs problèmes formulaire)

Bonjour à toutes et à tous,

Veuillez tout d'abord m'excuser pour ce titre "passe partout", mais je rencontre effectivement des problèmes d'ordre divers que je ne peux classifier dans une catégorie spécifique

Comme je le fais à chacun de mes posts, je m'empresse de préciser que je suis totalement néophyte en la matière afin de ne pas faire perdre leur temps à certains internautes, car il faut pouvoir se mettre à mon niveau, ce qui n'est pas forcément aisé et peut agacer

Je travaille bénévolement pour une association loi 1901, que l'on pourrait assimiler à un comité d'entreprise. Je le fais sur mon temps libre, ce qui explique que je ne peux m'investir dans l'apprentissage du VBA. Ce qui ne m'empêche pas de vouloir aider avec le peu de moyen dont je dispose.

Mon problème est le suivant :

Nous avons de nombreux adhérents pour lesquels nous récoltons de nombreuses informations (sexe, matricule, collectivité, nom prénom et ainsi de suite en linéaire) que nous intégrons dans un tableau dans une feuille Excel (version 2016) . Ce classeur dispose de plusieurs onglets : "ACTIFS TTES COLL 2017" et "ENFANTS 2017".

La saisie étant particulièrement pénible, j'ai décidé de créer un formulaire grâce à un tutoriel trouvé sur le net. Je n'ai eu que quelques lignes à modifier afin qu'il soit fonctionnel. Jusque là, pour la partie informations adhérents ("ACTIFS TTES COLL 2017"), c'est ok

J'ai modifié de nouveau le code pour avoir un "formulaire à onglets" pour les renseignements concernant les enfants de ces adhérents (j'en ai besoin pour leur Noël )

J'y parviens pour insérer un enfant, mais chaque adhérents peut avoir plusieurs enfants ou aucun, sans compter les rajouts à effectuer plus tard (naissance, etc..)

Voilà donc le formulaire tel que j'ai pu le faire, qui est incomplet pour pouvoir rentrer plusieurs enfants et tenir compte des spécificités détaillées

37test2.xlsm (129.75 Ko)

Il y'a de fait des impératifs et des spécificités que je suis obligé de respecter pour les enfants (voir pièce jointe ci dessous)

Voilà, je ne sais si j'ai pu être assez explicite, je ne voudrais pas décourager les quelques internautes assez courageux qui auraient la patience et la gentillesse de tenter quelque chose.

Bref, merci d'avance à toutes celles et tous ceux qui voudront bien m'accorder un peu de leur temps, pour que je puisse avoir un formulaire opérationnel (si d'ailleurs cela s'avère possible, entre mes besoins et ce qui peut être réalisé...)

Je rappelle que je suis sous Excel 2016

Un excellent weekend à vous,

Bien cordialement,

Cédric

Bonjour,

J'ai quelque peu modifiée mes requêtes, car j'ai avancé seul sur certains points.

J'ai donc changé le formulaire en conséquence

Mais j'ai encore bien besoin d'aide

Bien à vous,

Bonsoir,

tu ne pourrais pas te limiter à une question par discussion...la je sais pas par ou commencer...

A+

Bonjour,

ced02 a écrit :

Or, une fois qu'un classeur est ouvert et que le code apparaît, il est impossible d'ouvrir le mode développeur de l'autre classeur. La seule chose qui s'ouvre, c'est le code du ... premier classeur

En effet, lorsquel plusieurs classeurs sont ouverts, une seul fenêtre développeur est ouverte pour l'ensemble des classeurs. Mais normalement (en tout cas avec Excel 2007 et 2010), tu peux voir les projets (userform et modules) de tes différents classeurs dans la fenêtre explorateur de projet (Ctrl+r pour l'afficher). Dans cette fenêtre, tu peux sélectionner ton userform ou module et le déplacer pour le copier dans le classeur voulu.

Concernant les autres questions de ton topic, j'avoue que comme pierre.jy, je ne sais pas par où commencer... et je n'ai de toutes façons pas les compétences nécessaires, je pense, pour t'aider.

Bon courage à toi.

Bonsoir et merci à tous deux.

J'ai reformulé mon post afin que ne se pose que la question des enfants à insérer via mon formulaire "test2" mais qui doit tenir compte des particularité décrites dans "problématique formulaire onglets enfants"

Bonne soirée

ah, c'est déjà plus concis!

je vais travailler sur ton problème, mais sans garantie d'une solution!

A+

Merci c'est gentil à toi

Si besoin de renseignements supplémentaires ou si je n'ai pas été assez précis, je m'empresserai de faire le nécessaire.

Le formulaire tel que je l'ai créé n'est peut-être pas adapté à nos besoins

(j'ai mis par exemple plusieurs textbox pour les enfants, mais peut-être était-il plus judicieux de créer un bouton "nouvel enfant" ou autre ? Le formulaire peut être modifié, la seule chose qui importe c'est les renseignements demandés retranscrits sur les feuilles excel et de pouvoir rajouter des enfants dont les parents sont déjà dans la feuille, sans que ces parents n'apparaissent du coup 2 fois !...)

Merci de ne pas être trop regardant sur mon code, totalement néophyte, il m'a déjà fallu plusieurs semaines pour en arriver là et il est fort probable que je fasse 3 lignes de code alors qu'une seule suffit

Bien à vous tous,

Cédric

Bonjour Ced02,

Tout d'abord, je salue ton bénévolat car je suis moi-même aussi bénévole dans une association où je donne des cours Excel et développe des applications.

Pour résoudre ton problème de matricule ou de code postal, il suffit de déclarer les colonnes correspondantes au format Texte.

Je travaille aussi sur une proposition complète que je te soumettrai d'ici ce soir.

Audebois a écrit :

Bonjour,

ced02 a écrit :

Or, une fois qu'un classeur est ouvert et que le code apparaît, il est impossible d'ouvrir le mode développeur de l'autre classeur. La seule chose qui s'ouvre, c'est le code du ... premier classeur

En effet, lorsquel plusieurs classeurs sont ouverts, une seul fenêtre développeur est ouverte pour l'ensemble des classeurs. Mais normalement (en tout cas avec Excel 2007 et 2010), tu peux voir les projets (userform et modules) de tes différents classeurs dans la fenêtre explorateur de projet (Ctrl+r pour l'afficher). Dans cette fenêtre, tu peux sélectionner ton userform ou module et le déplacer pour le copier dans le classeur voulu.

Concernant les autres questions de ton topic, j'avoue que comme pierre.jy, je ne sais pas par où commencer... et je n'ai de toutes façons pas les compétences nécessaires, je pense, pour t'aider.

Bon courage à toi.

Merci, je vais essayer dès que j'aurais quelque chose d'à peu près fonctionnel.

Je posterai pour indiquer ce qu'il en est

thev a écrit :

Bonjour Ced02,

Tout d'abord, je salue ton bénévolat car je suis moi-même aussi bénévole dans une association où je donne des cours Excel et développe des applications.

Pour résoudre ton problème de matricule ou de code postal, il suffit de déclarer les colonnes correspondantes au format Texte.

Je travaille aussi sur une proposition complète que je te soumettrai d'ici ce soir.

Merci !

En fait, j'ai quelque peu avancé sur cette problématique

(voir version test2)

J'ai déclaré les colonnes concernées ainsi :

Pour les codes postaux et les matricules :

Private Sub CommandButton3_Click()

Dim L As Integer

Dim M As Integer

If MsgBox("Etes-vous certain de vouloir insérer ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message

Sheets("ACTIFS TTES COLL 2017").Activate

Worksheets("ACTIFS TTES COLL 2017").Rows(11).NumberFormat = "00000"

Worksheets("ACTIFS TTES COLL 2017").Rows(3).NumberFormat = "00000000"

L = Sheets("ACTIFS TTES COLL 2017").Range("a65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE

Range("A" & L).Value = ComboBox1 'Insère la donnée de la liste déroulante dans la colonne A

Range("B" & L).Value = TextBox1 'Insère la donnée de la textbox1 dans la colonne B

'et à suivre....

Range("C" & L).Value = TextBox2

Range("D" & L).Value = TextBox3

Range("E" & L).Value = TextBox4

Range("F" & L).Value = TextBox5

Range("G" & L).Value = TextBox6

Range("H" & L).Value = TextBox7

Range("I" & L).Value = TextBox8

Range("J" & L).Value = TextBox9

Range("K" & L).Value = TextBox10

Range("L" & L).Value = TextBox11

Range("M" & L).Value = TextBox12

Range("N" & L).Value = TextBox13

Range("O" & L).Value = TextBox14

Range("P" & L).Value = TextBox15

If OptionButton1.Value = True Then

Range("Q" & L).Value = "OUI"

End If

Sheets("ENFANTS 2017").Activate

Worksheets("ENFANTS 2017").Rows(3).NumberFormat = "00000000"

M = Sheets("ENFANTS 2017").Range("a65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE

If OptionButton1.Value = True Then

Range("A" & M).Value = ComboBox1 'Insère la donnée de la liste déroulante dans la colonne A

Range("B" & M).Value = TextBox1 'Insère la donnée de la textbox1 dans la colonne B

Range("C" & M).Value = TextBox2

Range("D" & M).Value = TextBox3

Range("E" & M).Value = TextBox4

Range("F" & M).Value = TextBox16

Range("G" & M).Value = TextBox17

Range("H" & M).Value = ComboBox2

End If

If OptionButton1.Value = False Then

Worksheets("ACTIFS TTES COLL 2017").Range("Q" & L).Value = "NON"

End If

End If

' Affiche une boîte de message

MsgBox ("Contact inséré dans fichier sélectionné") 'Vous informant que le présent contact est insérer dans votre tableau Excel.

Unload Me ' Vide et ferme l'Userform ( formulaire)

UserForm1.Show 'Affiche le formulaire

With Ws.Range("k2:k1700")

.NumberFormat = "00000"

.Value = .Value

End With

End Sub

J'ai mis plus de code qu'il n'en fallait (c'est le code de création d'un nouvel agent", car je ne sais pas si les 3 dernières ligne en gras sont utiles.

Dans ma feuille d'adhérents "ACTIFS TTES COLL 2017" c'est donc OK pour les matricules et les CP.

Idem dans la 2ème feuille pour les enfants ("ENFANTS 2017")

Par contre, dans mon formulaire, si je recherche un adhérent existant, le code postal (exemple : 02000) apparaît sans le "0" (soit 4 chiffres) ??...

Merci à toi et à tous ceux qui prennent la peine de lire, même s'ils ne peuvent m'aider

33test2.xlsm (129.75 Ko)

Bonsoir,

j'ai terminé ma proposition qui ne reprend pas ton code car j'en ai adopté un plus simple en nommant à l'identique les contrôles du formulaire et les colonnes de tes 2 feuilles.

Par ailleurs, j'ai revu les fonctionnalités de ton UserForm en dissociant en 2 phases les actions de création, modification ou suppression :

1- un clic sur les boutons "nouvelle entrée" ou "modifier entrée" ou "supprimer entrée" pour préparer le formulaire

2- un clic sur le bouton "valider" pour exécuter l'action.

Ensuite, j'ai modifié la disposition de la page 2 qui me parait plus adaptée à ta problématique.

Je pense que tu resteras sur ton développement actuel qui apparemment est bien abouti mais je te soumets tout de même ma proposition qui pourrait te donner quelques idées supplémentaires.

18test3.xlsm (136.56 Ko)

Bonsoir Ced02 et le forum,

Je me permets d'intervenir sur ce post et vous proposer une petite solution.

Un nouveau formulaire avec ListBox. Je n'ai mis que 3 possibilités d'enfants mais on peut en rajouter.

Le feuillet principal "ACTIFS TTES COLL 2017" a été modifié en conséquences (Ajout de colonnes pour les 3 enfants).

le 2ème feuillet devient inutile.

Avec ce formulaire appelé depuis la page Accueil, on peut Ajouter, Modifier ou Supprimer un enregistrement tout simplement. Le tri par ordre alphabétique est intégré.

A découvrir en P.J.

Cdt

Henri

16ced2-esssai.xlsm (187.40 Ko)
AFEH a écrit :

Bonsoir Ced02 et le forum,

Je me permets d'intervenir sur ce post et vous proposer une petite solution.

Un nouveau formulaire avec ListBox. Je n'ai mis que 3 possibilités d'enfants mais on peut en rajouter.

Le feuillet principal "ACTIFS TTES COLL 2017" a été modifié en conséquences (Ajout de colonnes pour les 3 enfants).

le 2ème feuillet devient inutile.

Avec ce formulaire appelé depuis la page Accueil, on peut Ajouter, Modifier ou Supprimer un enregistrement tout simplement. Le tri par ordre alphabétique est intégré.

A découvrir en P.J.

Cdt

Henri

Merci beaucoup AFEH,

Je vais voir ce que donne ton formulaire dès demain matin, je tenais juste à remercier pour ce soir

En tout cas, merci


thev a écrit :

Bonsoir,

j'ai terminé ma proposition qui ne reprend pas ton code car j'en ai adopté un plus simple en nommant à l'identique les contrôles du formulaire et les colonnes de tes 2 feuilles.

Par ailleurs, j'ai revu les fonctionnalités de ton UserForm en dissociant en 2 phases les actions de création, modification ou suppression :

1- un clic sur les boutons "nouvelle entrée" ou "modifier entrée" ou "supprimer entrée" pour préparer le formulaire

2- un clic sur le bouton "valider" pour exécuter l'action.

Ensuite, j'ai modifié la disposition de la page 2 qui me parait plus adaptée à ta problématique.

Je pense que tu resteras sur ton développement actuel qui apparemment est bien abouti mais je te soumets tout de même ma proposition qui pourrait te donner quelques idées supplémentaires.

Idem, merci à toi thev,

Je teste demain matin.

Il est tard et mes enfants dorment, donc extinction du PC

Encore merci, je posterai demain.

Bonsoir à vous deux et aux internautes qui parcourent le forum.

Je viens donner quelques nouvelles.

Je travaillais aujourd'hui, et je n'ai malheureusement pu que télécharger les deux versions très aimablement proposées par vos soins et en tester une, la première retrouvée dans mon dossier téléchargement

En l’occurrence, il s'agit de test3 (de thev)

Je teste dès demain ton code AFEH, je suis vraiment confus, de n'avoir pu le faire ce jour et ainsi exposer les différences.

Concernant test3, cela correspond parfaitement à mes besoins, mille mercis.

Malheureusement, il y'a deux ou trois points que j'aurais aimé corrigé, et je pensais pouvoir le faire moi-même, mais au vu de ton code... Bref, je ne suis nullement de taille :

La Combobox SEXE_F1 (sexe de l'adhérent apparait bien dans l'UserForm1 et l'on a bien :

  Me.SEXE_F1.List = Application.Transpose(Application.Transpose(Array("H", "F")))
    Me.SEXE_F2.List = Application.Transpose(Application.Transpose(Array("G", "F")))

Mais la liste sexe adhérent n’apparaît pas dans le formulaire !? (pour les enfants, oui...)

2ème point, les cellules (dans les 2 feuilles) contenant les CP (5 chiffres et beaucoup de 02100, donc avec le zéro devant) n'est pas formaté à 5 (j'avais mis Worksheets("ACTIFS TTES COLL 2017").Rows(11).NumberFormat = "00000" pour les 2 feuilles) mais je ne sais pas du tout ou le remettre ici et si le code correspond. J'en doute

Il en est de même, toujours dans les 2 feuilles pour les cellules contenant les matricules qui sont systématiquement formatées à 8 chiffres (Idem, j'avais mis Worksheets("ACTIFS TTES COLL 2017").Rows(3).NumberFormat = "00000000" pour les 2 feuilles)

Dernier petit problème, si pour une raison ou une autre je ne remplis pas tous les champs du formulaire adhérent, aucun souci pour la feuille 1, c'est vide, mais des zéro à la place dans la 2ème feuille, celle des enfants.

Voilà, il me semble avoir fait le tour : Combobox sexe adhérent qui n'apparait pas, des "zéros" dans la feuille 2 enfants si je laisse des textbox vides dans le formulaire : service ou autres (mais cellules bien vides dans la feuille 1, celle des adhérents), le formatage CP et matricule dans les 2 feuilles.

Je n'ai certes pas la prétention d'y connaitre quoi que ce soit, mais il me semble que ce sont de "petits" problèmes, voire de simple omissions dans la précipitation.

Quoiqu'il en soit, merci infiniment thev.

Quant à toi, AFEH, je me permets de te dire à demain.

Bonne soirée à vous deux et encore merci.

Cédric

Bonsoir,

ced02 a écrit :

Mais la liste sexe adhérent n’apparaît pas dans le formulaire !?

un positionnement intempestif de la propriété "Visible" du contrôle = corrigé

formatage des codes postaux et matricules

Ce n'est pas la bonne méthode d'utiliser un format nombre pour des codes ou des matricules. Les colonnes correspondantes doivent être déclarées au format texte.

J'ai rajouté dans les TextBox du formulaire associées à ces 2 champs, l'instruction nécessaire pour les positionner respectivement sur 5 et 8 caractères.

ced02 a écrit :

des "zéros" dans la feuille 2 enfants

ceci provient des formules que j'ai ajoutées pour récupérer les infos de l'agent dans la feuille "Enfants".

Pour les enlever, il suffit de décocher l'option : "Afficher un zéro dans les cellules qui ont une valeur nulle" :

Fichier --> Options --> Options Avancées --> Options d'affichage

ci-jointe version corrigée

22test4.xlsm (132.34 Ko)

Bonjour à tous et excellent weekend si vous avez la chance de faire le pont.

Désolé pour cette réponse tardive, je n'ai pas été en mesure de pouvoir répondre avant

Vos 2 propositions, thev et Henri sont parfaitement opérationnelles et très agréables à l'usage.

Exit donc mon formulaire bancal et inachevé.

(J'avoue que le code utilisé me laisse perplexe, bien que vous ayez tous deux pris soins de rajouter des informations )

J'ai omis de préciser dès le départ (j'avais essayé de couper au maximum dans mon explication longue et laborieuse de mon post initial) que certaines données concernant les enfants m'étaient fournies, et ce, comme dans la feuille "ENFANTS 2017".

De même, certains de nos adhérents ont 6,7 voire 8 enfants (ce qui explique je suppose le format de la feuille enfants)

Me concernant, pour la gestion et création au quotidien, je vais opter pour la proposition de thev.

Néanmoins, j'entrevois une utilisation possible qui arrangerait bien mes collègues (qui accueillent les adhérents) de la proposition d'Henri si cela ne te dérange pas (il me suffirait de lier les bases de vos 2 propositions dans notre serveur), mais j'aurai besoin de petits renseignements :

Si l'on rajoute des enfants au formulaire, on change simplement les boucles 1 à 25 ? (3 de plus pour chaque enfant)

Que se passe t-il lorsque la liste des adhérents, à droite dans le formulaire arrive en bas de page ? Je ne vois pas de scroll ?

A quoi sert / quelle est l'utilité du module 2 ? (pour le premier, j'ai bien compris qu'il s'agissait de l'ordre alpha)

Voilà, je vous remercie très sincèrement tous les deux, thev et Henri d'avoir pris le temps de lire, d'appréhender la problématique et d'avoir pris de votre temps personnel pour concevoir ces formulaires et me faire part de ces propositions. Que de patience !

Pour moi, pour l'association, nos bénévoles et nos adhérents, encore milles merci.

Thev, je te souhaite bien des choses concernant le bénévolat

(je me permets également de te féliciter, ce n'est pas facile, c'est un choix délibéré mais il y'a toujours une satisfaction au bout, ne serait-ce que de penser que l'on a peut-être été utile à quelque chose. Et selon les associations, on rencontre également souvent de "belles personnes" En tout cas, humainement, c'est déjà toute une expérience )

Bien à vous,

Cédric

Aie, petit souci :

Je n'ai pas réussi à mettre le code dans mon projet (classeur) d'origine, mais j'ai exporté feuilles et modules sur mon bureau, ouvert mon classeur qui se nomme Classeur précomptés ....." et ai importé ces feuilles et modules.

J'ai vérifié, j'ai l'identique de test4 (hormis le nom du projet qui est maintenant "VBAProject(Classeur précomptés..."

Le classeur a été enregistré en xlsm, je l'ouvre, CTRL-A pour lancer le formulaire de thev et là j'ai une erreur :

Module formulaire, il bloque à "UserForm1.Show vbModeless"

Test4 est écrit sous Excel 2013 et mon classeur est sous Excel 2016, je ne vois donc pas de raison de ce côté.

Si je force le débogage, je vois bien apparaître le formulaire derrière en arrière plan, mais je ne peux de toute façon continuer.

Message :

"erreur d'execution '1004' :

"la méthode 'Range' de l'objet_'global' a échoué"

Tous les modules et le UserForm portent les noms strictement identiques au classeur test4 (jen'ai rien touché)

Dans mon classeur, j'ai plusieurs onglet, j'ai tenté de renommer les feuilles pour avoir en feuille 1 'ALPHA TTES COLL 2017" et en feuille 2 "ENFANTS 2017", j'ai laissé les autres feuilles telles quelles, mais ça n'a rien changé.

J'ai essayé en retirant vbModeless pour passer en modal, rien à faire.

J'ai rajouté une fenêtre espion qui indique ceci :

"Expression : Show" "Valeur : Expression non définie dans le contexte" "Type : Empty" "Contexte : formulaire FORMULAIRE_SAISIE"

Je me suis aperçu de 2 erreurs : un espace avant le 1 dans UserForm1 et 1 feuille mal renommée. Mais...rien....

Si une âme charitable trouve la solution du problème, je suis preneur !

D'avance, merci !

Bonjour,

Pour afficher l'instruction qui bugge, il suffit d'appuyer sur la touche F8 pour une exécution pas à pas après l'arrêt sur "Useform1.show"

Les noms des contrôles de formulaire correspondent à ceux des colonnes des Feuilles. Vérifie que ces noms sont bien présents dans ton classeur : onglet Formules --> Gestionnaire de noms.

Pour régénérer les noms relatifs à la Feuille "ACTIFS TTES COLL 2017", associer le code ci-dessous à cette feuille et l'exécuter une fois pour créer les noms

Sub insertion_noms()

    ActiveWorkbook.Names.Add Name:="AGENTS_liste", RefersToR1C1:="=OFFSET('" & Me.Name & "'!C1,5,0,COUNTA('" & Me.Name & "'!C1)-1,5)"
    ActiveWorkbook.Names.Add Name:="AGENTS_F1", RefersToR1C1:="='" & Me.Name & "'!C1"
    ActiveWorkbook.Names.Add Name:="SEXE_F1", RefersToR1C1:="='" & Me.Name & "'!C2"
    ActiveWorkbook.Names.Add Name:="MATRI_F1", RefersToR1C1:="='" & Me.Name & "'!C3"
    ActiveWorkbook.Names.Add Name:="ETS_F1", RefersToR1C1:="='" & Me.Name & "'!C4"
    ActiveWorkbook.Names.Add Name:="SERVICE_F1", RefersToR1C1:="='" & Me.Name & "'!C5"
    ActiveWorkbook.Names.Add Name:="ANNOTATIONS_F1", RefersToR1C1:="='" & Me.Name & "'!C6"
    ActiveWorkbook.Names.Add Name:="STATUTS_F1", RefersToR1C1:="='" & Me.Name & "'!C7"
    ActiveWorkbook.Names.Add Name:="DATE_FIN_DE_CONT_THEO_F1", RefersToR1C1:="='" & Me.Name & "'!C8"
    ActiveWorkbook.Names.Add Name:="ADRESSE_F1", RefersToR1C1:="='" & Me.Name & "'!C9"
    ActiveWorkbook.Names.Add Name:="COMPLEMENT_F1", RefersToR1C1:="='" & Me.Name & "'!C10"
    ActiveWorkbook.Names.Add Name:="CP_F1", RefersToR1C1:="='" & Me.Name & "'!C11"
    ActiveWorkbook.Names.Add Name:="VILLE_F1", RefersToR1C1:="='" & Me.Name & "'!C12"
    ActiveWorkbook.Names.Add Name:="PORTABLE_F1", RefersToR1C1:="='" & Me.Name & "'!C13"
    ActiveWorkbook.Names.Add Name:="FIXE_F1", RefersToR1C1:="='" & Me.Name & "'!C14"
    ActiveWorkbook.Names.Add Name:="FAX_F1", RefersToR1C1:="='" & Me.Name & "'!C15"
    ActiveWorkbook.Names.Add Name:="MAIL_F1", RefersToR1C1:="='" & Me.Name & "'!C16"
    ActiveWorkbook.Names.Add Name:="ENFANTS_F1", RefersToR1C1:="='" & Me.Name & "'!C17"
    ActiveWorkbook.Names.Add Name:="SFT_F1", RefersToR1C1:="='" & Me.Name & "'!C18"

End Sub
 

Pour régénérer les noms relatifs à la Feuille "ENFANTS2017", associer le code ci-dessous à cette feuille et l'exécuter une fois pour créer les noms

Sub insertion_noms()

    ActiveWorkbook.Names.Add Name:="AGENTS_F2", RefersToR1C1:="='" & Me.Name & "'!C1"
    ActiveWorkbook.Names.Add Name:="NOM_PRENOM_F2", RefersToR1C1:="='" & Me.Name & "'!C6"
    ActiveWorkbook.Names.Add Name:="DATE_NAISS_F2", RefersToR1C1:="='" & Me.Name & "'!C7"
    ActiveWorkbook.Names.Add Name:="SEXE_F2", RefersToR1C1:="='" & Me.Name & "'!C8"

End Sub

voir post ci-dessus

Bonjour thev,

J'ai réussi à modifier certaines choses pour accéder enfin au formulaire.

Je ne peux plus créer un nouvel agent, je plante après le message de validation, je n'ai pas les mêmes données dans le gestionnaire de nom

Erreur ici pour la création d'un agent :

'indice ligne de la 1ère cellule vide de la colonne AGENT de la feuille ACTIFS TTES COLL 2017

i = Range("AGENTS_F1").Find(Null).Row

Pour info, i=zéro

Bref, j'abandonne (j'avais beaucoup plus d'erreurs, la combobox agent qui me donnait le sexe au lieu des agents, etc...)

J'ai fais le maximum pour les corrections (il y avait aussi effectivement des erreurs de noms de colonnes aussi)

Voici mon vrai tableau, si le cœur t'en dis...

Quant à moi, je suis ... dépassé.

Il faudra tout de même que je comprenne comment passer les codes VBA d'un classeur à l'autre, je n’y arrive pas les 2 classeurs ouverts.

Mais, théoriquement,, par le biais des exportations / importations c'est censé être la même chose, non ?

Par contre j'aimerai vraiment savoir quelle a été ou quelles ont été mes erreurs.

De fait, ce n'est pas encore mon "vrai tableau", je travaille avec celui ci car il y a encore quelques données à modifier ou manquantes.

Mais lorsque j'aurai tout, je remets tout cela dans mon "vrai tableau" qui se trouve dans notre NAS et avec lequel je travaille tous les jours et qui comporte plus d'onglets et des liaisons avec d'autres tableaux.


thev a écrit :

voir post ci-dessus

Désolé, je suis fatigué, ne n'ai même pas vu ton post.

Je tenterai de voir si j'arrive à quelque chose en fin de soirée, là, mon épouse commence à râler et je dois quitter mon PC

Rechercher des sujets similaires à "vba problemes formulaire"