Insertion alphanumerique base de donnée depuis une zone texte

seaclone33 Messages postés 2 Date d'inscription vendredi 26 décembre 2008 Statut Membre Dernière intervention 28 décembre 2008 - 27 déc. 2008 à 18:43
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 28 déc. 2008 à 15:23
Bonjour,

j'ai un problème actuellement sans réponse malgré de multiples recherches,
je travaille actuellement sur la gestion d'une base de donnée excel
j'ai un userform1 avec une textbox dans lequel l'utilisateur indique le "matériel/pièce,etc..." qu'il veut ajouter (modifier on verra plus tard) à la base de données
je voudrais pouvoir effectuer une recherche dans ma base de données pour savoir si le matériel n'a pas déjà été rentré=> première difficulté : la recherche et comparaison , pour cette fonction je veux comparer le matériel par deux critères :le nom du matériel(colonne A) et le prix (colonne C)
Si ce matériel n'est pas encore rentré dans la base, je dois insérer une ligne au bon endroit (recherche alphanumerique) c'est à dire entre deux matériels existants (comparaison alphabétique)=> deuxième difficulté
Comment puis-je réaliser cette fonction en VB?

PS: je suis un simple amateur , des phrases simples svp

Merciiiiii

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 déc. 2008 à 04:26
Salut
Catégorie de la question modifiée : rien à voir avec VB.Net

Base de données : On suppose que les données sont stockées dans un fichier Excel
Comment as-tu créé ta base ?
Quelle est le nom de la zone définie ? (Attention à ne pas utiliser de mot réservé comme 'Database' !)

On suppose toujours que ton Userform appartient à un autre fichier Excel ?
Est-ce que tu utilises MSQuery ?
As-tu regardé l'exemple donné avec la méthode OpenDatabase et CreateQueryDef ?

Tout ça manque de détails ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
seaclone33 Messages postés 2 Date d'inscription vendredi 26 décembre 2008 Statut Membre Dernière intervention 28 décembre 2008
28 déc. 2008 à 12:11
Salut jack,

Dsl pour l'erreur de catégorie mais ct la plus ressemblante à mon problème

Base de données est un bien grand mot:  c'est  une page d'un classeur excel, exemple:
colonne A : nom du materiel -> ex: vanne
colonne B : type de prix->ex:: fourni
colonne C: fabricant: ->ex: salmson
etc... jusqu'à colonne H
Dans la colonne A les materiels sont en plus  classés par catégorie : Chauffage, ventilation, solaire,etc... (7 catégories au total)

et j'ai insérer dans cette page un bouton de commande (Recherche) qui m'ouvre un useform1multipage qui va permettre à l'utilisateur dans la premier page de premièrement rechercher un élément dans la base de donnée en fonction du nom du produit ou de la catégorie ( si il veut voir ce qu'on a dans la base de donnée  pour cette categorie comme matériel)
ça g reussit à le faire,

Maintenant g une deuxième page du même userform ou je veux permettre à l'utilisateur de rajouter le materiel qu'il veut dans la base de données
donc dans cette page, il va rentrer dans des textbox le nom du materiel, le type de prix (fourni, posé,etc..), l'année du prix, le prix, le fabricant, l'affaire ou le matériel a déjà été utilisé

la suite tu la connais...
j'utilise que Excel!
je peux te filer le fichier excel (2003) pr que t'y jette un coup d'oeiil si je suis pas assez clair
Merci de t'interesser à mon pb dans tous les cas!
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 déc. 2008 à 15:23
Salut
Je ne suis pas très calé en Excel, mais voilà mes idées :
- Je te suggère de dissocier le fichier contenant les données et de créer un second fichier pour la partie consultation/insertion ...
Que tu soies à l'intérieur d'un même classeur ou à l'extérieur ne change rien, il suffira d'ajouter le lien du fichier des données devant le nom de la feuille.
- Dans cette feuille de données, je pense qu'il faut que tu sélectionnes les colonnes A à H puis que tu donnes un nom à cette plage, par exemple maDatabase.
Comme je te le disais, fait attention de ne pas utiliser de mot clé pouvant ressembler à une instruction ou un objet de langage de programmation. La solution peut consister à ajouter "ma" devant le nom pour être tranquille.
- Depuis le classeur qui interrogera, tu peux ouvrir une requète grace à MSQuery :
Menu "Données", "Données externes", "Créer une requète ..."
Si tu n'as jamais utilisé MSQuery, Excel te proposera de l'installer
Ensuite, il te demande la nature de la base de données parmi un choix : Choisis "Fichiers Excel"
Il te suffit ensuite de pointer vers le fichier des données, il reconnaitra la plage de cellules précédemment nommée "maDatabase" et te proposera les noms des colonnes figurant sur la 1ère ligne des colonnes.

Sous MSQuery, tu as alors le choix de gérer ta requète sous forme graphique ou sous forme SQL.
En consultant l'aide de Excel avec "requète SQL", tu trouveras des indications sur le "comment personnaliser une requète paramétrée"

Lors de la création de la requète initiale, tu as la possibilité de l'enregistrer dans un fichier .DQY.
Tu verras dans ce fichier texte des infos importantes (connexion et requète)

Par contre, je n'ai pas réussi à rendre paramétrable la requète, le menu "Critères" restant grisé dans mon MSQuery.
Je pense qu'il faut se pencher sur l'aide, j'ai dû sauter une étape.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous