Ajout/Suppression Donnée les unes en dessous des autres

Bonjour le Forum,

Premier post et débutant dans le VBA, n'hésitez pas à me reprendre sur mes pratiques tant sur le forum que dans mon code.

Je me suis lancé dans une application de gestion de stock très basique

Mon problème est le suivant:

Je cherche à ajouter des données (texte) depuis une textbox dans une colonne les unes en dessous des autres au clic sur le bouton "SAVE" sachant qu'il sera possible de supprimer via un autre userform les entrée saisies.

Je bloque sur l'utilisation de range via un indice variable qui variera aussi suivant la suppression.

Donc depuis ADD_BRAND je souhaite ajouter plusieurs ligne de données à la feuille BRAND

Depuis REMOVE_BRAND, je souhaite récupérer les données de la feuille BRAND dans une combobox peu importe leur nombre et les supprimer une à une

Et bien sur pouvoir répéter ces deux étapes sans problèmes (cellules vides, indice faux etc etc)

En espérant être clair...

Merci d'avance pour vos solutions et votre temps

Edit: Maj du fichier joint.

Salut,

Dans le fichier ci-joint, j'ai modifié ta macro Private Sub CommandButton1_Click() du UserForm ADD_BRAND pour te montrer comment tu peux travailler. Ca te permet d'aller de l'avant ?

Cordialement.

Merci à toi pour ta réponse c'est ce que j'attendais!!

J'ai essayer de réutiliser ton bout de code pour afficher cette même range dans une comboBox cela ne fonctionne pas

je reçoit une erreur de définition des propriétés de List

Private Sub UserForm_Initialize()

    TextBox1.Visible = False
    TextBox2.Visible = False

    Dim Derlig As Integer
    With Sheets("BRAND")
        Dim Derlig As Integer
        Derlig = .Range("A" & Rows.Count).End(xlUp).Row
        ComboBox1.List = .Range("A2" & Derlig).Value
'pour moi l'erreur est sur cette ligne, je sais pas trop si c'est la définition de Derlig ou sont utilisation en tant qui propriété de list qui foire

    End With
    ComboBox1.Style = fmStyleDropDownList

    ComboBox2.Visible = False
    ComboBox2.List = Worksheets("SIZE").Range("A2:A5").Value
    ComboBox2.Style = fmStyleDropDownList

    ComboBox3.Visible = False
    ComboBox3.List = Worksheets("DATE").Range("A2:A31").Value
    ComboBox3.Style = fmStyleDropDownList

    CommandButton2.Visible = False

End Sub

j'ai essayer beaucoup de chose, sans réel succès... J'en suis a me dire que je ne peux pas faire ça dans l' UserForm_Initialize()...

Petite question concernant le Unload Me: cela sert a décharger la mémoire mais à quoi d'autre?

Merci d'avance et encore merci pour ta réactivité .

Salut,

Fa. a écrit :

Petite question concernant le Unload Me: cela sert a décharger la mémoire mais à quoi d'autre?

Je ne peux absolument pas te dire si cette instruciton permet de décharger la mémoire, mais en tout cas ça sert à fermer le UserForm qui sinon resterait afficher à l’écran.

Ton code sans ton fichier est pour moi pratiquement inutile. Merci de me le fournir.

Amicalement.

Salut Yvouille, le Forum

Fa. a écrit:

Petite question concernant le Unload Me: cela sert a décharger la mémoire mais à quoi d'autre?

Je ne peux absolument pas te dire si cette instruciton permet de décharger la mémoire, mais en tout cas ça sert à fermer le UserForm qui sinon resterait afficher à l’écran.

Equivalent à un NomDeL'UserForm.Hide du coup?

Désolé pour le fichier joint :s le voici.

Bonjour,

Au cas où...

        ComboBox1.List = .Range("A2:A" & Derlig).Value

Ligne ci-dessus à corriger (ajout à faire surligné)...

Remarque en passant : beaucoup de Userform je trouve... Pour les mêmes fonctions potentielles j'en aurais fait 2 ! Peut-être 3 mais c'est un max.

Cordialement.

:A c'est ce qu'il me manquait...... Merci à toi MFerrand

Remarque en passant : beaucoup de Userform je trouve... Pour les mêmes fonctions potentielles j'en aurais fait 2 ! Peut-être 3 mais c'est un max.

Ce design m'est imposé, j'ai proposé un regroupement mais il fût refusé :/

Encore Merci

Bonjour tout le monde,

Merci à MFerrand pour le coup de main ; je ne m’en serais surement pas sorti tout seul.

Fa. a écrit :

Equivalent à un NomDeL'UserForm.Hide du coup?

Selon l’aide Excel, Hide masque un objet sans le décharger alors que Unload supprime un objet de la mémoire.

Cordialement.

Merci à MFerrand pour le coup de main ; je ne m’en serais surement pas sorti tout seul.

Allons ! Yvouille !

Cordialement.

Bonjour, me revoilà avec un nouveau problème ....

Je ne sais pas si ce que je veux faire est possible et viable mais je n'ai pas trop le choix...

Donc pour la suppression , j'ai en amont plusieurs combobox pour sélectionner des données et déduire la liste de la combobox suivante (4 fois pour être précis). Pour obtenir une référence au final et suprimer la ligne entière.

Je bloque sur mes listes de combobox

voici un exemple :

REF        MARQUE      PRODUIT      TAILLE     DATE
abc        nivea        creme         XL       2016
def        nivea        creme         XL       2015
ghi        nivea        creme         L        2016
jkl        nivea        shampo        M        2007
mno        dove         shampo        M        2000
pqr        tahiti       creme         L        2016

Combobox1  liste: toutes les marques (nivea dove tahiti)                                sélection: nivea
Combobox2  liste: tout les produits de la marque précédente (creme et shampoo)          sélection: creme
Combobox3  liste: les tailles  correspondantes a nivea-crème (XL, L)                    sélection: XL
Combobox4  liste: les dates correspondantes a nivea-crème-XL (2015, 2016)               sélection: 2016
Combobox5  liste: les refs (une seule dans ce cas)                                      sélection: def

la gestion des doublons est ok pour mes essais, mais pas les combobox :/

J'ai essayé plusieurs choses sans résultats (find et fonction if)

Je sais pertinemment que je pourrai directement rechercher la ref sans faire tout ce bazar et supprimer la ligne, mais je n'ai pas le choix.

Merci d'avance pour vos pistes et/ou solutions

Salut,

Selon moi tu ne dois pas charger tous tes ComboBox lors de l’initialisation du UserForm, mais au fur et à mesure que tu choisis des données dans le ComboBox précédent.

Dans le fichier ci-joint, je te montre comment - une possibilité parmi d'autres - avoir la liste des produits (dans le ComboBox2) selon la marque choisie dans le ComboBox1 de ton UserForm REMOVE_PRODUCT.

J’ai modifié tes codes Private Sub ComboBox1_Change() et Private Sub UserForm_Initialize() de ton UserForm REMOVE_PRODUCT.

Essaie de nous simplifier la vie en donnant des exemples sur le fil correspondant à ceux du fichier.

Cordialement.

I am very Happy

Merci beaucoup pour ta/tes solutions Yvouille, après plusieurs modification, je suis arrivé à ce que je veux!

Mon code n'est pas forcément opti mais le résultats est correct. Tu pourras en juger dans mon prochain post :p

Je finit les quelques tests logiques pour éviter les bugs et j'upload le fichier finit pour les intéressés ASAP !

Voici la solution finale pour les intéressés.

Pas forcément opti, mais fonctionne sans bug. =)

Merci beaucoup pour les solutions/aides!!

Rechercher des sujets similaires à "ajout suppression donnee dessous"