faire un tri préalable à l'affichage dans un Combobox

poups

XLDnaute Occasionnel
Re : faire un tri préalable à l'affichage dans un Combobox

Bonjour Dranreb
Me revoila, j'ai créé un noveau tableau et un userform pour rechercher (sans modification) des enregistrements en fonction d'un certain nombre de criteres ...
Jusque la me semble t'il avec les comboxlié cela doit marcher, cela a d'ailleur marcher mais cela ne marche plus et je ne trouve pas pourquoi ...
Peux tu m'aider ?
Merci d'avance Poups
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : faire un tri préalable à l'affichage dans un Combobox

Bonsoir.

Il y a des variables non déclarées, et apparemment des confusions entre des choses qui comportent ou ne comportent pas "Tb" en 2ième position de leurs noms, à commencer par le principal, le ComboBoxLiés !
 

poups

XLDnaute Occasionnel
Re : faire un tri préalable à l'affichage dans un Combobox

Bonjour,
Je m'étais trompé de version de fichier .... avec mes excuses
Ne trouvant pas de solution j'ai refais le fichier, au bou du compte c'est pareil

Mon PB que je ne comprend pas et trouve pas de réponse,
J'ai un message "cette clé est déja assosciée à un élément de cette collection"
Le fichier était parfaitement fonctionnelle avant, je ne trouve pas ou est le conflit

Merci de m'éclairer si c'est possible
A Bientôt
Poups
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : faire un tri préalable à l'affichage dans un Combobox

Cela vient de ce que deux valeurs de types différents se retrouveront sous la même forme String dans un ComboBox.
De fait la cellule I9 contient la valeur 1401, tandis que toutes les autres cellules de I4:I27 contiennent le String "1401".
 

poups

XLDnaute Occasionnel
Re : faire un tri préalable à l'affichage dans un Combobox

Je comprend mieux pourquoi cela marchais avant et plus apres ...
Je pense que c'est valable dans d'autre champs par moment

Quand je cherche un enregistrement, c'est pour faire le suivie d'une ligne et donc compleiter des informations (facture / montant) etc ...
Je supose donc que le PB sur la cellule I9 viens au moment de l'enregistrement des modifications
Le format ce trouve modifié, Pourquoi ?
J'ai rencontrer le PB sur le format des codes postaux également

Mais quel solution j'ai ?
Merci
 

Dranreb

XLDnaute Barbatruc
Re : faire un tri préalable à l'affichage dans un Combobox

Deux solutions cohérentes: 1) Mettre un format Texte à ces cellules et revalider les valeurs qu'elles contiennent en texte par copie collage spécial par valeur d'une formule qui y concatène une chaine vide : =…&""
2) Mettre un format numérique à ces cellules et revalider les valeurs qu'elles contiennent en numérique par copie collage spécial par valeur d'une formule qui y ajoute zéro: =…+0. Dans ce cas veiller à y ranger des valeurs de TextBox ou autres converties en numérique au moyen de la fonction CDbl
 

poups

XLDnaute Occasionnel
Re : faire un tri préalable à l'affichage dans un Combobox

Ce que je ne comprend pas c'est les formats modifié sont les diférent critere (Combobox) choisie pour selectionner mon enregistrement, je n'ai pas de ligne de programme pour lui demander de les modifiers ...

Alors comment faire pour savoir les quelles je dois modifier le format ?
Peux tu me montrer ou faire un exemple je ne comprend pas trop la méthode

Entre temps j'avais essayé un truc mmais maintenant apres plusieur choix il me met "priopriété incorect"
Et surtous ne m'enregistre pas les champs compleité ...

Soupireeeee
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : faire un tri préalable à l'affichage dans un Combobox

C'est une réparation pour homogénéiser la nature nombre ou pas nombre des données rangées dans toutes les cellule d'une plage dans une colonne, à décider une bonne fois pour toute : utiliser une colonne libre, mettre une formule qui reprend la valeur suivie d'une chaine vide ou augmentée de 0, selon la solution décidée, copier toute cette colonne, collage spécial par valeur dans la colonne d'origine.
Et si numérique décidé :
VlgnDI(1, 25) = Me.MontantFac pas bon ! mais :
VlgnDI(1, 25) = CDbl(Me.MontantFac)

Et… vous n'écrivez pas la VlgnDI dans une ligne de la feuille ?
Pour des dates c'est CDate(Me.Date1) ou utilisez peut être plutôt des DTPicker.
 
Dernière édition:

poups

XLDnaute Occasionnel
Re : faire un tri préalable à l'affichage dans un Combobox

VlgnDI(1, 25) = CDbl(Me.MontantFac)
VlgnDI(1, 21) = CDate(Me.Date1)
Je génère une erreur
Faut il déclarer qq choses ? ou ?

Pour complaiter un enregistrement
Je dois appuiyer 2 fois de suite pour modifier et/ou enregistrer les valeurs dans le tableau
Pourquoi ?

Merci beaucoup
Poups
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : faire un tri préalable à l'affichage dans un Combobox

Bonjour.

Ces instructions peuvent entrainer une erreur si les contrôles ne portent pas de valeur susceptible d'être convertie soit en Date soit en Double. Et à mon avis ce doit être une condition contrôlée dans HabiliterContrôles pour interdire la validation. À moins que le renseignement puisse être facultatif, auquel cas il faut d'abord tester si la valeur du contrôle n'est pas vide avant de tenter de la convertir.
Si elle est vide et si c'est permis, mettez la valeur Empy dans l'élément de tableau de ligne correspondant.
Le deuxième problème: C'est Normal, ou avez vous la tête ? Vous écrivez VlgnDI dans PlgDI.Rows(LDICou).Value avant de l'avoir garni de ses nouvelles valeurs ! Et ce, ensuite, sans utiliser les fonctions de conversion de types de données, soit dit en passant.
Ah, il y a un piège dont je doit vpous avertir : Un gravissime bogue dans Excel dont Microsoft se fout éperdument entraine de mauvaises affectations de dates française dans des plages de plusieurs cellules à partir de tableaux. Ce bogue ne semble pas s'étendre à l'utilisation de la propriété Value2 au lieu de Value. L'aide au sujet de Value2 est par ailleurs incompréhensible par rapport à ce qu'on peut constater par des essais.
 
Dernière édition:

Discussions similaires


Haut Bas