Formulaire pour multi feuille - Recherche/Modification/Création

Bonjour cher Forum,

En m'inspirant de Boisjontier et l'aide du forum, je tente de créer un gestionnaire d'inventaire d'équipements dans lequel il sera possible de consulter, modifier et/ou ajouter des informations.

À l'aide d'une recherche par matricule, j'aimerai obtenir la liste des équipements en cliquant sur chaque catégorie du multipage de l'UserForm, et pouvoir intervenir sur les informations.

Dans le classeur, et partant de la BD identification du personnel, il y aura une feuille par catégorie d'équipement dont chaque item (ligne) sera référencé par le # de matricule, et pas forcément dans le même ordre entre les feuilles (du moins si c'est possible).

Comme toujours, j'ai fait mes recherches et mes tentatives, mais sans résultat.

Aussi, j'imagine qu'il faudra des boutons Validation, Ajout et Suppression indépendants pour chaque feuilles.

Bref, ce qu'il manque à l'avancement de mon projet, c'est de lier dans l'Userform la BD aux autres feuilles et le contrôle des informations.

Merci pour votre temps.

A+

Bonjour,

Pour lancer le débat :

Excel n'est pas fait pour ce genre de travail !

Faire un tel UserForm n'est déjà pas une sinécure même pour une seule feuille, si en plus tu comptes l'adosser sur une douzaine de feuille. Je pense que tu n'es pas près de t'en servir...

Au pire, très laborieusement, tu pourrais faire référence à la feuille matricule "SP" pour te relier à une autre feuille "matos" qui recenserait tous les matériels voulus, mais une feuille par matériel, je pense qu'il ne faut pas y compter !

Remarque : Un contrôle multi feuille ne signifie nullement que tu peux adresser une douzaine de feuilles, mais chaque page de ton multifeuille est censé adresser des colonnes différentes de la même feuille unique...

A+

Bonjour galopin01,

Merci pour votre intervention. Mais l'objet de mon poste n'est pas d'entamer un débat sur les possibilités ou non d'Excel, mais bien de trouver de l'aide pour le développement de mon projet.

Je ne crois pas être le seul à vouloir se servir d'Excel en ce sens.

L'essence même d'une voiture n'est certainement pas d'y faire l'amour, mais combien s'y adonne!

Mon projet comportera tout au plus quatre à cinq feuilles.

Merci d'avance pour votre contribution.

Bien cordialement,

A+

Bah... Quand je dis ouvrir le débat c'est pour laisser la possibilité aux autres de me contredire.

Mébon je suis tranquille : Même avec 4 feuilles c'est encore trois de trop !

A+

Bonjour cher Forum,

Ce que j'ai trouvé qui ressemble de près à mon projet, c'est ce poste https://forum.excel-pratique.com/viewtopic.php?f=2&t=118114&sid=1ff72d3d90d37c8a469b217a24a6738c. Mais, je ne vois pas comment m'en inspirer pour arriver à mes fins.

Autre piste aussi, et si j'ajoutais un textbox du matricule sur chaque onglet du multi feuille!

Ou, je me demande si je ne devrais pas laisser tomber le multi feuille (comme contrôle) pour un menu en cascade!

Bref, merci d'avance pour vos idées.

A+

Bonjour à tous,

Je poursuis mes recherches et tentatives, mais sans résultats. Je suis convaincu qu'il s'agit de peu de chose!

En espérant trouver une solution sous peu.

Merci d'avance de l'intérêt que vous portez à mon projet.

Bien à vous.

Toujours dans l'impasse!

Ces derniers temps, et pour arriver à mes fins, j'ai passé en revue des dizaines de postes et plusieurs tuto... J'ai appris quelques astuces, mais rien qui me permettent d'aller plus loin dans mon projet.

En adaptant le code de la feuil ("BD") pour la feuil ("Casque"), et en l'intégrant dans la section ChoixMat_Click, j'avais bon espoir d'arriver à un résultat, mais nada.

Private Sub ChoixMat_Click()
   ligneEnreg = Sheets("BD").[A:A].Find(ChoixMat, LookIn:=xlValues).Row
   For Each c In Me.Controls
      nom_control = c.Name
      If nom_control <> "ChoixMat" Then
         If Not IsError(Application.Match(nom_control, Range("Titres"), 0)) Then
                col = Application.Match(nom_control, Range("Titres"), 0)
            Select Case TypeName(c)
               Case "TextBox"
                  Me(nom_control) = f.Cells(ligneEnreg, col)
            End Select
         End If
      End If
   Next c

   Me.MatC = Me.ChoixMat 'ici, je ne sais plus comment poursuivre!
 '----------------------------------------------
  'cette adaptation ne donne pas de résultat (une tentative parmi tant d'autres).
 ligneEnreg = Sheets("Casque").[A:A].Find(MatC, LookIn:=xlValues).Row
 For Each c In Me.Controls
      nom_control = c.Name
      If nom_control = "MatC" Then
         If Not IsError(Application.Match(nom_control, Range("TitresPC"), 0)) Then
                col = Application.Match(nom_control, Range("TitresPC"), 0)
            Select Case TypeName(c)
               Case "TextBox"
                  Me(nom_control) = i.Cells(ligneEnreg, col)
            End Select
         End If
      End If
   Next c
End Sub

Mes tentatives conduisent à toutes sortes d'erreurs, et devant ce mur, je me pose un tas de questions!

Est-ce qu'il à une ou des variables à déclarer?

Est-ce qu'il faut initialiser le Frame et/ou le multipage, ou toute autre chose qui m'échappe?

Dois-je faire une procédure pour chaque page du multipage?

Est-ce que je dois coder dans un Change () et/ou dans un Click()?

Je fais peut-être l'erreur de penser qu'il s'agit de peu de chose de lier le multipage aux feuils du classeur à partir d'un seul critère (le # de matricule)!

Bref, je vous remercie d'avance de votre temps et de votre t'aide.

HELP!

A+

Bonsoir le forum.

Je me range à la sagesse de galopin01 et paritec, donc de mettre de l'ordre dans ce projet.

Merci pour vos bons conseils.

A+ sur un autre sujet.

Bonsoir,

Info : Recherche/Modification/Création pour une base de donnée ç'est connu sous l'acronyme de CRUD sur Google.

Avec Excel, ça n'est possible pour un débutant que pour une base de donnée (et une seule) : Pas pour plusieurs feuilles synchronisées.

Il existe quelques rares exceptions (*) mais tu ne sembles pas pouvoir entrer dans ce cas de figure...

Donc j'ai tendance à penser que dans ton cas, on ne peut envisager ça que dans une seule feuille BD avec suffisamment de colonnes pour pouvoir gérer le matos de tout le monde...

Si tu veux monter un truc comme ça prière de fournir une liste détaillée de tous les matériels que tu vas vouloir gérer et de tous les champs nécessaires (les colonnes) Inutile de commencer à bricoler un pseudo USF de la mort qui tue et ou tu peux même faire l'amour : Ça commence d'abord par une analyse préalable et ensuite par les fondations...

(*) pour les exceptions je peux t'expliquer ça en MP pour pas polluer le fil...

A+

Bonjour à tous,

pour poursuivre ce qui est déjà fait, une solution possible pour la gestion "Casque"

tout en haut de la feuille de code, rajouter:

Dim FC As Worksheet   'variable globale pour la feuille Casque

Au début de Private Sub UserForm_Initialize(), ajouter

Set FC = Sheets("Casque")  ' initialisation de FC

dans Private Sub ChoixMat_Click() :

Rajouter au début:

Dim LigCasque As Range, Lig As Integer

et à la fin :

 '***** Affichage casque
    Set LigCasque = FC.Columns(1).Find(ChoixMat, LookIn:=xlValues)

    If Not LigCasque Is Nothing Then
        Lig = LigCasque.Row
        Couleur.Value = FC.Cells(Lig, 2)
        BIP.Value = FC.Cells(Lig, 3)
        Mois.Value = FC.Cells(Lig, 4)
        Année.Value = FC.Cells(Lig, 5)
    Else
        MsgBox "Casque non attribué"
    End If

Le principe pourrait être le même pour les autres matériels.

A+

Bonjour galopin01, monsieur Boisjontier et AlgoPlus,

Un énorme merci pour votre support.

Je suis en train de réviser mes BD, et clairement, avec vos généreuses contributions, serai mieux outillé pour la suite.

A+

Rechercher des sujets similaires à "formulaire multi feuille recherche modification creation"