Gestion de dossiers - Base données

  • Initiateur de la discussion Initiateur de la discussion goldenboy
  • 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 !

goldenboy

XLDnaute Occasionnel
Bonjour à tous,

Je viens vous solliciter sur mon projet de gestion de dossier.

J'ai créé mes USF, je suis capable d'ajouter des données, mais je bloque sur la recherche, et je pense qu'ensuite je bloquerais sur la modification.

Chaque chose en son temps, je viens d'abord vous demander un coup de main sur la recherche.

Voici un fichier avec des explications de fonctionnement et de résultats attendus sur la feuille MODE D'EMPLOI.

Merci d'avance à tous ceux qui participerons et m'aiderons dans cette réalisation. 😀
 

Pièces jointes

Dernière édition:
Re : Gestion de dossier [Recherche multi critère]

Bonjour.
Voilà votre classeur équipé des fournitures qu'il lui faut.
J'ai mis provisoirement les 8 1ères colonnes dans la ListBox, je ne sais pas trop ce que vous vouliez y mettre. Faudra sans doute pas mal l'élargir ainsi que l'userform.
Si vous vouliez bien ajouter en dessous de la ListBox les champs saisissables pour la création et la modification, ainsi que les boutons pour commander les actions, qu'on puisse continuer et étoffer la procédure qui sera peut être destinée à devenir peu à peu la plus grosse de toutes, celle à la fin: HabiliterContrôles. C'est vraiment la clé de la sécurité du fonctionnement de cet Userform multi-usage. Il faut que tout soit vérifié là et pas ailleurs.
Si un bouton Créer est cliqué on crée aussitôt la ligne sans se poser de question, parce que ça veut dire qu'il était Enabled et donc que la HabiliterContrôles avait rigoureusement déterminé que tout était OK pour y aller.

Mais il reste déjà des détails à régler rien qu'avec ça. Par exemple: lorsqu'on sélectionne une ligne de la ListBox, ça revient d'un certain point de vue à avoir renseigné tous les ComboBox afin qu'ils aboutissent à cette ligne (entre autre ?). Au fait, la combinaison des 4 est elle bien unique au moins ? Enfin peu importe. En tout cas s'ils ne sont pas tous renseignés, on serait bien tenté de les renseigner par code en fonction de la ligne sélectionnée dans la ListBox pour avoir le même affichage que dans le cas où ce ne seraient que les ComboBox qui y auraient abouti. Mais je ne l'ai pas fait parce que sans cela on perd le reste du contenu de la ListBox, or je ne sais pas si c'est gênant, c'est à dire si on ne veut pas en général sélectionner autre chose après dans cette liste. Bon, on pourrait aussi faire en sorte que la liste soit préservée tant qu'on y sélectionne des choses sans toucher aux Combos coté opérateur. Mais faut voir tout ça.
Ouais bon. Je ne sais pas si vous avez compris mon charabia.

À +
 

Pièces jointes

Re : Gestion de dossier [Recherche multi critère]

Bonsoir,

Pour les colonnes de la liste box, je souhaiterais les 4 colonnes correspondantes aux 4 critères de recherche.

J'ai ajouté les champs de la fiche de dossier.
Je pense avoir compris que le HabiliterContrôles, vérifie les infos rentrées, et tant que ce n'est pas bon, le bouton créer ne sera pas accessible.

Au fait, la combinaison des 4 est elle bien unique au moins ?
J'ai fait un test, je pense que cela fonctionne quand même.

Je crois avoir à peu près compris votre dernier paragraphe, et je pense qu'il ne faut pas faire évoluer la liste en fonction de ce qui pourrait être sélectionné dedans si on perd le reste des informations.

Par exemple, si on a une info à rajouter dans le commentaire pour un contrat, et qu'il y a plusieurs noms à ce contrat, c'est bien si on peut sélectionner les lignes les unes après les autres et modifier chaque commentaire. Je suis aussi dans mon charabia là...

Voici le fichier avec les modifications demandées.
J'ai aussi commencé un peu de mise en forme. Vous me direz si cela vous gène, je ferais vraiment tout à la fin.
Et j'ai daté le fichier pour conserver toutes les versions en cas de soucis.

Merci à vous.
 

Pièces jointes

Re : Gestion de dossier [Recherche multi critère]

Pour les colonnes de la liste box, je souhaiterais les 4 colonnes correspondantes aux 4 critères de recherche.
Soit, c'est vous qui voyez. Mais je trouve la liste bien pauvre alors et je crois quand même que le fameux commentaire en plus dont vous parlez plus bas serait le bienvenu, surtout s'il a des chance d'être unique dans l'ensemble sélectionné. Le numéro relatif de la ligne aussi devant peut être aussi quand même ? 10 lignes toutes pareilles reproduisant simplement exactement les 4 ComboBox renseignés en le cas où c'est ça, ce n'est vraiment pas rigolo ni instructif de ce qui a été trouvé
!
le HabiliterContrôles, vérifie les infos rentrées
Oui tout à fait, mais c'est aussi plus technique que ça: il tiendra compte avant tout du nombre de lignes existantes cernées: 0, 1 ou plusieurs et s'il y en a une de sélectionnée.
et je pense qu'il ne faut pas faire évoluer la liste en fonction de ce qui pourrait être sélectionnée
C'était bien en effet ce que je pensais. Et le plus simple c'est de ne pas toucher par programmation aux contenu des ComboBox quand on sélectionne une ligne. Mais c'est justement ça qui me gêne un peu: qu'ils ne reproduisent pas visuellement toutes les infos de la ligne.

Je vais maintenant ouvrir votre classeur pour voir si j'ai du code à y ajouter.

Je l'ai ouvert, lancé l'userform et j'ai tout de suite deux remarques:
1) - Je suis étonné de la présence de certains champs qui font double emploi avec les ComboBox. Dans la philosophie du truc, ceux ci était en effet aussi utilisables comme champs de saisie des nouveaux éléments. Mais il faut être prudent. C'est peut être quand même nécessaire s'il peut y avoir besoin de les changer sur une ligne existante. La combinaison des 4 n'a peut être pas hélas, un caractère aussi tranché d'Identifiant unique de la ligne.
2) - Le bouton Créer n'est pas à sa place tout en haut. D'ailleurs on préfère de nos jour plutôt "Ajouter". Il doit être à coté de boutons "Modifier" et "Supprimer", tout en bas, là où vous avez mis le "Enregistrer". Bien sûr, grâce à la procédure HabiliterContrôles, "Ajouter" ne pourra pas être Enabled en même temps que "Modifier". Si bien que ça pourrait éventuellement être votre bouton Enregistrer dont le Caption sera soit "Ajouter" soit "Modifier" selon qu'une ligne aura été sélectionnée ou pas dans la liste, je crois que c'est ça qui va être le critère en fin de compte.
Il faudrait un moyen d'annuler la sélection, afin de permettre la prise en compte d'une copie des champs en tant que nouvelle ligne et transformer donc le bouton "Modifier" en "Ajouter".
Le bouton "Annuler" pourrait servir à restaurer les champs aux valeurs de la ligne sélectionnée, ou les vider s'il n'y en a pas.
En tout cas "Enregistrer" n'est sûrement pas suffisamment précis. En s’apprêtant à cliquer dessus, il faut absolument être averti, à savoir s'il va créer une nouvelle ligne ou écraser une ligne existante.
À +
 
Dernière édition:
Re : Gestion de dossier [Recherche multi critère]

Bonsoir,

Voici d'ou vient mon inspiration pour ce projet. (ci joint)

On peut voir que les champs de recherche ne se remplissent pas en fonction d'un dossier choisi, et cela ne me choque pas.

Par contre, vous avez surement raison sur le nombre d'information à visualiser dans la liste box.
On peut rajouter la colonne prénom si vous n'y voyez pas d’inconvénient. Après la colonne nom et pourquoi pas le combobox prénom également.

Pour avoir un doublon, il faudrait que dans une même société, il y ait deux personnes qui aient le même nom et le même prénom. Je pense que ça limite pas mal les chances de tomber sur ce type de cas.

Je prends vos conseils avec beaucoup d’intérêt. Un point de vue extérieur est toujours intéressant et puis il est plus facile d'enlever les choses que de penser à les ajouter.

Je suis preneur de toutes vos idées... 🙂
 

Pièces jointes

  • outil1.jpg
    outil1.jpg
    33.5 KB · Affichages: 99
  • outil1.jpg
    outil1.jpg
    33.5 KB · Affichages: 92
  • outil2.jpg
    outil2.jpg
    58.5 KB · Affichages: 85
  • outil1.jpg
    outil1.jpg
    33.5 KB · Affichages: 93
Re : Gestion de dossier [Recherche multi critère]

Houh ! Excusez moi. Je pourrais quand même vérifier de temps en temps si un nouveau message n'est pas arrivé entre temps.
Là ça fait presque un heure après que je continue d'empiler les édit sur le même ! je pousse le bouchon un peu loin. Vérifiez néanmoins si vous en avez pris connaissance.
 
Re : Gestion de dossier [Recherche multi critère]

Bonjour.

Je dois vous informer d'une chose : Il se trouve qu'il émerge peu à peu dans ma tête qu'après tout, ce ne serait peut être pas si absurde que ça … d'avoir un multipage avec un onglet "Liste" et un onglet "Fiche" (ou "Consultation" et "Mise à Jour" si vous préférez). Disons que j'y vois apparaître peu à peu, pour l'instant, plus d'avantages que d'inconvénients. Mais il y aurait interaction entre les deux, non forcément visible depuis la fiche, car seuls les ComboBox pourront assurer le contrôle d'existence permettant de déterminer s'il s'agira d'un ajout ou d'une modification en repérant la ligne à modifier.

J'ai une question. Le quatrième élément "…En attente" est il normalement immuable pour un dossier ? Je crains que non, hein ? Il ne fait pas vraiment partie de son identification comme les 3 autres ?
 
Re : Gestion de dossier [Recherche multi critère]

Bonjour Dranreb,

Est-ce que les fiches (contenant tous les champs actuellement en dessous de la LB_RESULTAT) peuvent être dans un autre userform ?

Je vous met le fichier pour que se soit plus parlant.

J'ai une question aussi, si je tape un numéro de contrat commençant par 1, il me propose tout de suite les deux lignes "1", et ce même si je continu à taper d'autre chiffre après. Et du coup les deux lignes "1" sont dans la LB_RESULTAT. Il faudrait qu'elle soit vide du coup, si il n'y a pas de contrat portant le numéro que je tape.
Enfin si c'est possible évidemment.

(Essayez avec ce numéro : 1234584541212)

Concernant l'emplacement des boutons, j'ai un petit problème.
En effet, un collaborateur peut vouloir ajouter un dossier sans avoir fait une recherche avant.
C'est pour ça que sur le nouveau fichier, j'ai placer tout en haut un bouton ajouter un dossier à coté de rechercher un dossier. Comme ça, soit on créer, soit on recherche.

Si on recherche et qu'on trouve pas on ne va pas forcément créer, mais le bouton reste disponible au cas où.
Si on recherche et que l'on souhaite modifier, on peu alors cliquer sur voir le dossier. (même userform que la création). ou alors même disposition, mais deux userforms. 1 pour la création et un pour la modification.

Dites moi ce que vous en pensez.

Suite aux modifications, il faudrait dans la LB_RESULTAT : Affichage des colonnes A B C D E et F et un numéro de ligne.
Est-ce qu'il est possible de mettre une ligne de titre dans la LB_RESULALT ?

Avec le numéro de ligne, on pourrait demander la confirmation après avoir cliqué sur "voir le dossier"
Du genre : Etes-vous sur de vouloir voir le dossier n° &numligne, vbyesno, "Numéro de dossier…"

A vous lire,

Je viens de voir votre message à l'instant où j'allais poster celui-ci.
Le critère "En attente..." n'est pas immuable en effet.
Le 2 avril on peut attendre le bulletin, le 10 on le reçoit et le 11 on attend la contrepasse, le 15 la contrepasse est faite et on peut attendre un complément. etc...
 

Pièces jointes

Dernière édition:
Re : Gestion de dossier [Recherche multi critère]

Est-ce que les fiches (contenant tous les champs actuellement en dessous de la LB_RESULTAT) peuvent être dans un autre userform ?
Je l'avais envisagé un moment, mais je crois que ça n'apporterait aucun confort dans le cas de la création: il faudrait cliquer sur un bouton en plus pour l'afficher. Le multipage aussi d'ailleurs, sur un onglet. C'est le seul inconvénient vu pour celui ci.
Il faudrait qu'elle soit vide du coup, si il n'y a pas de contrat portant le numéro que je tape.
Effectivement, je vais regarder la question dans ComboBoxLiés. Ce n'est pas normal qu'il persiste à proposer une liste conforme aux seuls Combo en correspondance si l'ensemble des renseignés n'y est pas. Toutefois, en attendant, en spécifiant des paramètres à CouleurSympa, vous seriez immédiatement averti par la couleur que ce que vous tapez n'existe pas et ne fait donc pas partie de la liste.
VB:
CBL.CouleurSympa &HFFFFFF, &HD1D1FF, &HFFFFFF
À ce propos, vous n'auriez pas dû changer les couleurs par défaut quand on n'en précise pas. Si vous ne voulez pas que les couleurs changent, supprimez simplement l'instruction.
En effet, un collaborateur peut vouloir ajouter un dossier sans avoir fait une recherche avant.
La recherche est incontournable. Même si on s'arrange pour qu'elle ne se voie pas. Allons y pour un onglet "Fiche" permettant de saisir les 4 critères. Mais ils seront versés dans certains ComboBox de l'onglet "Liste" à leur évènement Exit. Si on ne le fait pas, vous aurez inévitablement des dossiers saisis plusieurs fois.
Vous avez ajouté 2 ComboBox. OK, c'est fait pour ça ! Quelles informations parmi eux constituent une combinaison unique dans toute la liste ? peut on en rester à CONTRAT, RAISON et NOMSAL ? Remarque si un doublon sur tous les trois est seulement très improbable, il y aurait toujours la ressource en dernier recours de créer le doublon avec une donnée fausse d'une lettre et forcer exceptionnellement la vraie valeur dans la cellule. On a vu que ça ne gênait ni la recherche ni la modification. Il n'y aurait nul inconvénient à en interdire simplement la création par la voie normale

Dans la suite de votre message je trouve que vous compliquez bien inutilement les manœuvres. Je vais enlever la sélection d'office dans la liste quand il n'y a qu'une ligne au cas ou d'autres recherches derrières seraient désirées. Mais si on en sélectionne une, qu'elle soit seule ou pas, que voulez vous que ça puisse avoir comme autre sens que de montrer immédiatement la fiche, et donc de basculer automatiquement sur l'onglet "Fiche" ? (Les champs seront dans ce cas bien évidemment tous garnis et le bouton Enregistrer aura pour Caption "Modifier")

P.S. Dans la Public Sub CBM_Change de ComboBoxLiés, l'ajout de la 4ième de ces lignes derrière les 3 1ères existantes semble régler le problème
VB:
If CBM.CBx.ListIndex = -1 Then
      If CBM.CBx.MatchRequired Or CorrespRequise Then CBM.CBx.Text = ""
      If FondsÀColorer Then CBM.CBx.BackColor = IIf(CBM.CBx.Text = "", FondBleu, FondRouge)
      If CBM.CBx.Text <> "" Then NbChoixEff = 0: Exit Do
Elle est devant un I = I + 1

Mais ce n'est qu'une solution provisoire. Elle ne me plait pas, justement parce que les couleurs de certains ComboBox ne sont plus révisées. Mais comme vous vous en fichez, ça ira pour l'instant.
 
Dernière édition:
Re : Gestion de dossier [Recherche multi critère]

Bonsoir Dranreb,

J'ai rajouté la ligne que vous m'aviez dit, mais il se passe encore quelque chose qui ne fonctionne pas.
si on saisi le contrat de la ligne 2 (1234567891245), il n'affiche pas de résultat par ce que les autres combobox ne ce mettent pas à jour.

Dans le fichier exemple des comboboxliés que vous m'aviez donné dans le poste #5, il interdit automatiquement l’écriture d'une valeur qui n'existe pas.

Pour les couleurs, je les ai enlevées pour vérifier que je pouvais les modifier ou les mettre en blanc. Je n'ai pas osé supprimer l'instruction et ont peut les remettre pour continuer le programme.

Pour le rajout de critère de recherche, j'en ai rajouté pour avoir une correspondance entre ce qui va être affiché dans la LB_RESULTAT et les CBBOX qu'il y a au dessus. Il n'y a aucun caractère de diminution de doublon.

Dans la suite de votre message je trouve que vous compliquez bien inutilement les manœuvres. Je vais enlever la sélection d'office dans la liste quand il n'y a qu'une ligne au cas ou d'autres recherches derrières seraient désirées. Mais si on en sélectionne une, qu'elle soit seule ou pas, que voulez vous que ça puisse avoir comme autre sens que de montrer immédiatement la fiche, et donc de basculer automatiquement sur l'onglet "Fiche" ? (Les champs seront dans ce cas bien évidemment tous garnis et le bouton Enregistrer aura pour Caption "Modifier")
Je comprend bien votre raisonnement, mais si les choses vont trop vite, j'ai peur que les collaborateurs ne comprennent pas vraiment ce qu'ils font.
Aussi, une personne peut vouloir chercher un dossier, et une fois que celui ci est afficher dans la LB_RESULTAT, il ne souhaite pas voir la fiche, mais simplement aller chercher le dossier et travailler dessus. Peut-être qu'après il consultera la fiche ou pas.

Vous préféreriez continuer sur cet userform + 2 autres pour l'ajout et la modification, ou
Continuer sur un userform + 1 autre pour ajout/modification ou
Continuer sur un userform avec un multipage ?

Cordialement,
 
Re : Gestion de dossier [Recherche multi critère]

Je vais voir si je peux perfectionner le dispositif. Là c'est moins évident parce que pour le moment je ne sais plus, au moment où il faudrait les mettre à jour, d'où viennent les contenus des ComboBox qui ne correspondent pas. S'il ont été tapés ou sélectionnés il ne faut pas les changer ! Par contre, évidemment s'ils ont été assumés parce qu'à un moment donné ils étaient les seuls choix possibles, ça pourrait s'envisager. Mais il faudrait alors que j'ajoute une propriété dans le ComboBoxMembre pour y noter que son contenu est assumé et non choisi. Remarquez, en effaçant les autres ComboBox les uns après les autres le résultat finit par être donné.

Si l'information qui intéresse l'utilisateur figure dans la liste, il n'a pas besoin de sélectionner la ligne pour la voir, dans le cas contraire il ne peut la voir que dans la fiche.

Je pense que le plus simple ce serait quand même d'avoir accès à tout en même temps dans un grand userform avec tout ce qu'on peut montrer. Et aussi saisir ou modifier quand les champs sont accessibles. Comme ça le collaborateur n'a pas à réfléchir à ce qu'il doit utiliser comme onglet ou bouton pour allez où voir quoi, il a tout sous les yeux, il lui suffit de regarder ce qui l'intéresse. Il y a assez de place non ? Mais il ne faudrait pas y répéter les champs des ComboBox dont la combinaison constituent une identification de la ligne, qui déterminera s'il s'agit d'un élément inexistant qu'on peut créer, ou existant qu'on peut modifier ou supprimer. Vous m'avez dit qu'actuellement les gens ajoutent des lignes et travaillent dans les cellules. Il savent où ils en étaient resté dans une série d'ajouts, parce qu'ils le voient dans la liste. S'il doivent utiliser uniquement l'userform, ils ne le verront plus. Et donc toute combinaison de champs renseignés constitutifs d'une identification doivent avant tout faire l'objet d'une recherche afin de déterminer si ça existe. Mais à tout prendre je préfèrerais le multipage à d'autres userform. Ça pourrait aussi régler différemment le problème déjà évoqué des Combobox restant non renseignés lors de sélections dans la liste.
P.S. Évidemment là je comprend mieux maintenant que vous vous en fichiez qu'ils ne soient pas garnis des valeurs de la ligne sélectionnée, puisque vous ne pensiez pas que dans mon esprit il n'y avait que là qu'ils étaient affichés ! (Et aussi dans la ligne sélectionnée quand même). À la fois champs de recherche ET de saisie d'identification à vérifier préalablement avant toute saisie d'autres champs.

Bonjour.
Voyez s'il y a du progrès avec ces nouveaux modules à importer.
Et ne changez plus les couleurs par défaut. Vous auriez quand même pu vous douter que l'utilisation de la méthode CouleurSympa n'était pas obligatoire, et que si vous l'utilisiez, vous pouviez y spécifier d'autres couleurs en paramètres.
 

Pièces jointes

Dernière édition:
Re : Gestion de dossier [Recherche multi critère]

Bonsoir.
Supprimez les 4 1ères ligne, elles ne font pas partie du module: ce sont des information de contrôle. Auriez vous copié le texte depuis le Bloc-Notes, au lieu d'importer les modules ? Mais dans ce cas je ne comprendrais pas que des lignes commençant par "Attribute VB_" aient bien disparues.
Il n'y a plus d'erreur de compilation. Mais je me suis trompé de nom de fonction: il faut utiliser VarType au lieu de TypeName. Vous le trouverez facilement car il occasionne tout de suite une incompatibilité de type.
 
Re : Gestion de dossier [Recherche multi critère]

Bonsoir Dranreb,

C'est bon pour les modules, j'ai enlevé les 4 premières lignes et changé TypeName par VarType et ça à l'air de fonctionner. je les avait pourtant bien importés après avoir vidé les modules. (Insertion -> fichier...)

J'en ai changé 2. j'espère que j'ai pas fait d'erreur.

Code:
Public Function Item(ByVal Index As Variant) As ComboBoxMembre
Rem. —— Renvoie le membre d'index spécifié. Des évènements classiques des ComboBox renvoient déjà un ComboBoxMembre
'  pour information, alors autant pouvoir en demander carrément un aussi. Mais là, le but clairement visé est
'  la manipulation de cet objet par vos soins. Attention: Veillez à ce que vos modifications n'entraveront pas
'  le bon fonctionnement de ce module de classe. Un passage en revue de chaque propriété ne sera pas inutile:
'     Parent:  Modification déconseillée. Doit pointer sur l'instance de classe propriétaire: ComboBoxCasc ou ComboBoxLié.
'     Cbx:     Vous voudriez lui attribuer un autre ComboBox que celui spécifié au Add ? Pourquoi pas après tout.
'     Index:   Modification directe déconseillée: utilisez pour cela NouvelIndex qui rectifie en conséquence les autres.
'     Col:     La modification possible de la colonne dans la plage source est le principal but cette méthode.
'     DicCBx:  Modification assez déconseillée. Mais ajout d'éléments au dico… ? Si incident => Évènement AutreChoix.
'     DicBdD:  Modification déconseillée.
'  Après modification d'un ensemble de membres, ré-exécutez Actualiser.
Dim I As Long
If VarType(Index) = "ComboBox" Then <------------- MODIFICATION VARTYPE
   For I = 1 To UBound(TCBM)
      Set Item = TCBM(I)
      If Item.CBx Is Index Then Exit Function
      Next I
Else
   Set Item = TCBM(Index)
   End If
End Function

Et :

Code:
Rem. —— Les méthode qui suivent sont applelées par ComboBoxMembre.
'       Elles n'ont pas à être invoquées depuis la classe utilisatrice.

Public Sub CBM_Change(ByVal CBM As ComboBoxMembre)
Dim NbChoixEff As Long, I As Long, Item As Variant, Lignes() As Long, Complet As Boolean, _
   C’EstFoireux As Boolean, Inexistant As Boolean
If SExécuteDéjà Then Exit Sub
SExécuteDéjà = True

Rem. Analyse des choix effectués et report des dictionnaires filtrés.
NbChoixEff = 0: I = 1
Do: Set CBM = TCBM(I)
   If NbChoixEff = 0 Then
      Set CBM.DicCBx = CBM.DicBdD
      RaiseEvent ReçoitDico(CBM, False)
   Else
      Set CBM.DicCBx = DicoFiltré(CBM.DicBdD, Lignes)
      RaiseEvent ReçoitDico(CBM, True)
      End If
   CBM.CBx.List = CBM.DicCBx.Keys
   If CBM.DicCBx.Count = 1 Then
      If CBM.CBx.Text = "" And Not LaisserVide Or CBM.Assumé Or CorrespRequise _
         Or CBM.CBx.MatchRequired Then CBM.CBx.ListIndex = 0: CBM.Assumé = True
   Else: CBM.Assumé = False
      End If
   If CBM.CBx.ListIndex = -1 Then
      If CBM.CBx.MatchRequired Or CorrespRequise Or CBM.Assumé Then CBM.CBx.Text = ""
      If FondsÀColorer Then CBM.CBx.BackColor = IIf(CBM.CBx.Text = "", FondBleu, FondRouge)
      CBM.Assumé = False
      If CBM.CBx.Text <> "" Then Inexistant = True
      I = I + 1
   Else
      Item = CBM.DicCBx.Items(CBM.CBx.ListIndex)
      Inexistant = VarType(Item) <> vbArray + vbLong <------------- MODIFICATION VARTYPE
      If Inexistant Then
         If FondsÀColorer Then CBM.CBx.BackColor = FondRouge
         RaiseEvent AutreChoix(CBM, Item)
         I = I + 1
      Else
         Lignes = Item
         NbChoixEff = NbChoixEff + 1: NouvelIndex(CBM) = NbChoixEff
         If FondsÀColorer Then CBM.CBx.BackColor = FondVert
         I = NbChoixEff + 1
         End If
      End If
   Loop Until I > UBound(TCBM)

Je vais bosser sur un multipage avec un premier onglet qui servira à la recherche et modification des fiches existantes et on second onglet pour la création de nouvelles fiches (Après qu'une recherche ait vérifié l’inexistence de cette nouvelle fiche). Un troisième onglet pour la hiérarchie (Affichage de statistique sur la base de données) et l'administration (par moi même) du fichier. (Sauvegarde de la base de données, suppression - après archivage - des fiches clôturées etc...)
 
Re : Gestion de dossier [Recherche multi critère]

Non, il fallait juste aller modifier en débogage lors du message d'erreur à l'exécution sur la ligne qui plantait, puis F5 pour continuer. La 2ième modif (Edit: enfin, plutôt celle que vous montre en premier) n'était pas à faire: VarType permet seulement de savoir si l'expression représente un objet tandis que pour obtenir le nom du type de l'objet c'est bien TypeName.

Ne mettez pas des actions sur vos onglets, mais leur nature en tant que support: "Liste" et "Fiche" ou leur vocation générale: "Consultation" et "Mise à jour". Les actions ce sont les boutons Enabled qui les permettent tout à la fin. Toutes les actions se demanderont depuis la fiche, sauf, s'il y a lieu, la suppression en masse de tout ce qui est listé. Je pense que je peux lancer la recherche automatiquement depuis la fiche, au moment où les champs d'identification perdent le focus (lorsqu'on les quitte) par copie de leurs contenus dans les ComboBox, et savoir ainsi, selon qu'une ligne est ramenée ou non, si l'enregistrement devra bien fonctionner en création ou, contre toute attente, en modification. Ce sera indiqué sur le bouton.
 
Dernière édition:
- 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
9
Affichages
827
Réponses
5
Affichages
598
Retour