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 Subj'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,
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.Fa. a écrit :Petite question concernant le Unload Me: cela sert a décharger la mémoire mais à quoi d'autre?
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).ValueLigne 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.
Selon l’aide Excel, Hide masque un objet sans le décharger alors que Unload supprime un objet de la mémoire.Fa. a écrit :Equivalent à un NomDeL'UserForm.Hide du coup?
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!!