Code VBA dataform

Bonjour a tous,

Je cherche un exemple de userform type dataform et son code vba associé

c est pour développer mon propre userform en incluant fonction

Saisie

Recherche

Suppression

Bref comme le dataform originel dans xls

bon, ça à l'air pas simple du tout ma question !!

j'ai réalisé la partie saisie + insertion dans base de donnée,

il me reste à faire la partie recherche selon critère dans cette meme base

et / ou par le principe de deux fleches (boutons precedent et suivant)

est-ce que ce serait pas plus simple de basculer sur un deuxième userform de recherche ou peut-on utiliser un meme userform pour

saisir ou rechercher sans avoir un code trop compliqué ?

pour l'affichage c'est ok

comment dois-je faire pour rajouter un bouton "SUIVANT"

dont le but est d'afficher Range("A3").Row

Private Sub CommandButton_rechercher_Click()

    'no_ligne = N° de ligne de la dernière cellule non vide de la colonne +1
    no_ligne = Sheets("base de donnée MBC").Range("A2").Row

    'Insertion des valeurs sur la feuille
    TextBox_repere.Value = Sheets("base de donnée MBC").Cells(no_ligne, 1)
    TextBox_designation.Value = Sheets("base de donnée MBC").Cells(no_ligne, 2)
    TextBox_type = Sheets("base de donnée MBC").Cells(no_ligne, 3)
    TextBox_famille.Value = Sheets("base de donnée MBC").Cells(no_ligne, 4)
    TextBox_fournisseur.Value = Sheets("base de donnée MBC").Cells(no_ligne, 5)
    TextBox_marque.Value = Sheets("base de donnée MBC").Cells(no_ligne, 6)
    TextBox_modele.Value = Sheets("base de donnée MBC").Cells(no_ligne, 7)

Bonsoir

Pourquoi tu ne veux pas aider ce qui peuvent t'aider ?

Tu n'es pas nouveau ici et tu sais que pour augmenter tes chances d'avoir une réponse c'est de

bonsoir,

j'ai toujours l'impression que le fichier exemple que j'utilise pour développement va être trop volumineux !!

promis, je le refera plus !!

ATTENTION, le fichier est loin d'etre abouti dans l'userform, les boutons (PRECEDENT et SUIVANT)

sont présent mais non fonctionnel

j'ai deux userform :

1 pour la création de matériel dans ma base de donnée

1 pour l'affichage

mais je réfléchi à un moyen de réunir les deux par la suite si j'arrive à :

rechercher, puis modifier, puis enregistrer sans creer de doublon à partir de l'userform création

mais chaque chose en son temps

Bonjour

Pour l'affichage j'utilise un SpinButton (toupie)

A toi de voir

impeccable,

comment puis-je faire maintenant pour modifier un matériel ?

et cela sans creer un doublon, faut'il transferer vers l'userform création ? comment fait-on ?

Bonsoir

Une suite à tester

ok (comme toujours !!)

il ne me reste plus que la fonction SUPPRESSION

- lorsque le bouton SUPPRIMER est cliqué, rendre vierge toutes les "Box" de l'userform du repere affiché.

et enfin la fonction RECHERCHER

- lorsque le bouton RECHERCHER est cliqué, inscrire manuellement un texte dans "box" repere, puis apres clic sur RECHERCHE, afficher les autres "box" si le repere existe dans la base de donnée.

Bonsoir

Je n'ai pas compris tout ce que voulais faire avec tes macros

A tester et à me dire ce qui ne va pas

c'est ça !!

seul petit problème :

lorsque j'integre l'userform et son code dans mon fichier final

j'avais des cellules grise si donnée vide, et blanche si cellule non vide

(à l'aide de mise en forme conditionnelle de la forme valeur de cellule sup à 0)

ces cellules sont issues de la base de donnée crée via l'userform (rechercheV)

hors quand je modifie un repere via l'userform, les données vide n'apparaissent plus en gris (comme si elle n'était plus vide)

je remarque que pour faire apparaitre le gris de la celule, je suis obligé de rentrer dans la base de donnée et de supprimer "ClearContents" chaque cellule vide et aprés c'est ok.

Comment puis-je faire par macro un ClearContents de toutes les cellules vides de la ligne modifié via l'userform ?

en fait il me faudrait un code à rajouter au clic commandbutton_validation du style :

sur la selection (No_ligne, cellules correspondants au remplissage de l'userform)

si cellule vide alors clearcontents de la cellule sinon next cellule.

Bonjour

Tu fournis un fichier avec le problème, car je n'arrive pas à le reproduire

C'est bon,

il suffisait de rallonger chaque ligne de code en précisant IIf(Me.TextBox <> "", Me.TextBox, "")

Ce qui à pour effet le bon fonctionnement de la mise en forme conditionnelle du départ (sur une autre Feuille non présente dans le fichier joint).

'Insertion des valeurs sur la feuille
    .Cells(No_Ligne, 1) = IIf(Me.TextBox_repere <> "", Me.TextBox_repere, "")
    .Cells(No_Ligne, 2) = IIf(Me.TextBox_designation <> "", Me.TextBox_designation, "")
    .Cells(No_Ligne, 3) = IIf(Me.OptionButton_MABC = True, Me.OptionButton_MABC.Caption, Me.OptionButton_MAQF.Caption)
    .Cells(No_Ligne, 4) = IIf(Me.ComboBox_famille <> "", Me.ComboBox_famille, "")
    .Cells(No_Ligne, 5) = IIf(Me.TextBox_fournisseur <> "", Me.TextBox_fournisseur, "")
    .Cells(No_Ligne, 6) = IIf(Me.TextBox_marque <> "", Me.TextBox_marque, "")
    .Cells(No_Ligne, 7) = IIf(Me.TextBox_modele <> "", Me.TextBox_modele, "")
    'ligne 8 soumise à controle numérique
    .Cells(No_Ligne, 8) = Val(Replace(TextBox_prixHT, ",", "."))
    .Cells(No_Ligne, 9) = IIf(Me.ComboBox_nmarche <> "", Me.ComboBox_nmarche, "")
    .Cells(No_Ligne, 10) = IIf(Me.ComboBox_nom_lot <> "", Me.ComboBox_nom_lot, "")
    .Cells(No_Ligne, 11) = IIf(Me.ComboBox_garantie <> "", Me.ComboBox_garantie, "")
    .Cells(No_Ligne, 12) = IIf(Me.ComboBox_famille_MATS <> "", Me.ComboBox_famille_MATS, "")
    .Cells(No_Ligne, 13) = IIf(Me.ComboBox_fiche_MATS <> "", Me.ComboBox_fiche_MATS, "")

    .Cells(No_Ligne, 14) = IIf(Me.TextBox_capacite <> "", Me.TextBox_capacite, "")
    .Cells(No_Ligne, 15) = IIf(Me.TextBox_dimension <> "", Me.TextBox_dimension, "")
    .Cells(No_Ligne, 16) = IIf(Me.TextBox_carac_1 <> "", Me.TextBox_carac_1, "")
    .Cells(No_Ligne, 17) = IIf(Me.TextBox_carac_2 <> "", Me.TextBox_carac_2, "")
    .Cells(No_Ligne, 18) = IIf(Me.TextBox_infra <> "", Me.TextBox_infra, "")

    .Cells(No_Ligne, 19) = IIf(Me.CheckBox_EFB = True, Me.CheckBox_EFB.Caption, "")
    .Cells(No_Ligne, 20) = IIf(Me.CheckBox_ECB = True, Me.CheckBox_ECB.Caption, "")
    .Cells(No_Ligne, 21) = IIf(Me.CheckBox_EFA = True, Me.CheckBox_EFA.Caption, "")
    .Cells(No_Ligne, 22) = IIf(Me.CheckBox_ECA = True, Me.CheckBox_ECA.Caption, "")

    .Cells(No_Ligne, 23) = IIf(Me.TextBox_alim_eau <> "", Me.TextBox_alim_eau, "")
    .Cells(No_Ligne, 24) = IIf(Me.TextBox_evac_eau <> "", Me.TextBox_evac_eau, "")
    .Cells(No_Ligne, 25) = IIf(Me.TextBox_pgaz <> "", Me.TextBox_pgaz, "")
    .Cells(No_Ligne, 26) = IIf(Me.TextBox_alim_gaz <> "", Me.TextBox_alim_gaz, "")
    .Cells(No_Ligne, 27) = IIf(Me.TextBox_pelec1 <> "", Me.TextBox_pelec1, "")

    .Cells(No_Ligne, 28) = IIf(Me.ComboBox_tension1 <> "", Me.ComboBox_tension1, "")
    .Cells(No_Ligne, 29) = IIf(Me.TextBox_alimelec1 <> "", Me.TextBox_alimelec1, "")
    .Cells(No_Ligne, 30) = IIf(Me.OptionButton_NON = True, Me.OptionButton_NON.Caption, Me.OptionButton_OUI.Caption)

Bonjour

Tant mieux qu tu ais trouvé, mais soit écrire le contenu d'un contrôle vide ou d'écrire une chaîne vide, je ne vois pas trop la différence

Mais bon suis très loin de tout connaitre

Le principal c'est que cela fonctionne

Les mystère de la deesse EXCEL !!! ...............à moins que ce soit un mâle ?

Salutation.

Rechercher des sujets similaires à "code vba dataform"