Résolu Excel VBA formulaire à nombre d'onglets variable

  • Initiateur de la discussion Initiateur de la discussion fb62840
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

J'aimerais savoir si sous Excel 2003 il est possible de créer un formulaire multi-onglets. Le nombre d'onglets serait variable.

Explications :
Onglet 1.
Champ 1 : Nom
Champ 2 : Prénom
Champ 3 : Nombre d'expériences
Champ 4 : Nombre de parcours

Si le champ 3 contient (entre 0 et 6), il faudrait alors que le nombre d'onglet soit compris entre 0 et 6 (0 si aucune expérience, 1 si 1 expérience, 2 si 2 etc, sur chacun de ces onglets supplémentaires, l'utilisateur donnera des infos sur ses expériences

et, Si le champ 4 contient (entre 0 et 6) il faudrait alors que le nombre d'onglet supplémentaire soit compris entre 0 et 6 (sur chacun de ces onglets supplémentaire, l'utilisateur donnera des infos sur ses parcours.

Merci pour votre aide.
 

Pièces jointes

Dernière édition:
Re : Excel VBA formulaire à nombre d'onglets variable

Salut fb62840

Pourquoi faire autant d'onglets que de nombres d'expériences !?

Des TextBox (date, lieu, nom entreprise, missions, tâches) avec une ListBox qui contiendra l'ensemble de ces champs

Ce qu'il faut savoir c'est comment tu comptes retranscrire sa dans ta/tes feuille(s) Excel

A+
 
Re : Excel VBA formulaire à nombre d'onglets variable

Bonjour Bruno,

Plusieurs raisons à cela.
1) je ne peux pas utiliser Access
2) je dois impérativement utiliser Excell
3) Le nombre de champs est très grand si l'on prend 6 expériences et 6 parcours, avec 5 champs pour chaque on arrive à 60 champs rien que pour ces données, à celles-ci s'ajoutent d'autres données (identité, adresse complète, téléphones, mail, moyen de transport, distance de mobilité, motivation, nom du métier)

Merci,
 
Re : Excel VBA formulaire à nombre d'onglets variable

Re,

Plusieurs raisons à cela.
1) je ne peux pas utiliser Access
Je pensais bien à ça, mais il faut penser BdD 😉

3) Le nombre de champs est très grand si l'on prend 6 expériences et 6 parcours, avec 5 champs pour chaque on arrive à 60 champs rien que pour ces données, à celles-ci s'ajoutent d'autres données (identité, adresse complète, téléphones, mail, moyen de transport, distance de mobilité, motivation, nom du métier)
Justement, pour ma part j'inscrirais les données en lignes (65536) et non en colonne (256)
Cela permets de faire des extractions d'infos plus facilement

Voir une exemple et idée en fichier joint

Il peut y avoir d'autres avis ...

A+
 

Pièces jointes

Re : Excel VBA formulaire à nombre d'onglets variable

Bonjour Bruno,

J'ai examiné le code des macros que tu as rédigé, et je les comprends (c'est un excellent apprentissage).

La Listbox affiche en ligne les données date et lieu de l'expérience enregistrée et cela évite la multiplication des onglets ce qui est une excellente alternative.

2 questions complémentaires :
Comment s'assurer, si l'utilisateur spécifie qu'il a 2 expériences à enregistrer, que sous l'onglet de saisie des expériences, il en saisissent davantage ?

Comment obtenir, après saisie dans les champs du formulaire, l'ajout des données dans la base de données ?

Merci beaucoup pour ton aide.

Bon après midi
 
Re : Excel VBA formulaire à nombre d'onglets variable

Bonsoir Bruno,

Un grand merci, c'est même bien plus que ce que j'attendais car votre code prévient les erreurs de saisie.

Merci encore, car grave à vous, et aux nombreux contributeurs du forum j'en apprends un peu plus chaque jour.
 
Re : Excel VBA formulaire à nombre d'onglets variable

Bonjour Bruno,

J'ai un problème, j'utilise la structure de code que vous avez saisie dans le fichier et sur la ligne :
Me.TBsynthese_formation.AddItem.CBannee_formation
j'obtiens une erreur "Erreur de compilation, Membre de méthode ou de données introuvable".

J'ai examiné le code à plusieurs reprise mais je ne trouve pas mon erreur.

Un peu d'aide serait la bienvenue.

Code:
Private Sub CommandButtonAjout_formation_Click()
Dim Ind As Integer
  ' Ajout d'une nouvelle formation
  IncrementFormation = IncrementFormation + 1
  ' Vérification que l'incrémentation n'est pas supérieure au nombre de formations à enregistrer
  If IncrementFormation > Nbrformations Then
    MsgBox "Vous avez choisi de renseigner " & Nbrformations & " formation(s), vous ne pouvez pas en enregistrer " & IncrementFormation & "."
    Exit Sub
  End If
  ' Sinon
  Me.TBsynthese_formation.AddItem.CBannee_formation
  Me.TBsynthese_formation.List(Me.TBsynthese_formation.ListCount - 1, 1) = Me.TBnom_formation
  Me.TBsynthese_formation.List(Me.TBsynthese_formation.ListCount - 1, 2) = Me.CBville_formation
  ' effacer les textbox
  Me.CBannee_formation.Value = ""
  Me.TBnom_formation.Value = ""
  Me.CBville_formation = ""
  Me.TBnbr_formation_a_enregistrer = ""
  Me.CBniveau = ""
  ' afficher le bouton Ajouter
  Me.CommandButtonAjout_formation.Visible = True
End Sub
 
Re : Excel VBA formulaire à nombre d'onglets variable

Salut fb62840

Tu ne peux pas avoir un "." derrière AddItem

Sans me replonger dans le code, pour moi ce serait plutôt
Code:
Me.TBsynthese_formation.AddItem Me.CBannee_formation

"Me" fait référence à l'objet conteneur qui est ici l'USF

A+
 
Re : Excel VBA formulaire à nombre d'onglets variable

Merci Bruno,

Je vais regarder ça mais j'avais fait une erreur plus idiote...
une listbox n'est pas un textbox et sur le formulaire j'avais pensé poser des listbox alors que c'étaient des listbox

J'ai quelques soucis pour positionner correctement les éléments prélevés dans les textbos les uns à côté des autres dans la listebox

Quelle est la rédaction qu'il faudrait que j'adopte pour désigner la colonne 1, la colonne 2 etc ?

Merci et bon week-end
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Retour