Voila j'ai un petit problème qui est le suivant. J'arrive a ajouter des lignes en fonction de combien j'en veut mais j'aimerais faire reussir:
- a insérer les informations des diverses combobox à la première ligne vide avec la prise en compte du nombre de ligne à insérer dans la textbox du userform.
Et aussi:
- a insérer les divers numéros de produits c'est à dire le produit de type 4, si je veut commander 5 produits de type 4 il faut que cela puisse m'afficher les numéro de produits 5, 6, 7, 8 et 9 (c'est plus compréhensible lorsque l'on a le fichier sous les yeux).
Re : Insertion d'une ou plusieurs lignes via userform
Salut vassili et le forum
Quelques petits rappels :
Les gens ne répondent que quand ça leur chante, mais c'est pas cher ^^
Si les gens ne répondent pas :
- soit ils t'en veulent méchamment, et il n'y a pas grand chose à faire (mais avec l'anonymat, c'est rare)
- soit ils ne peuvent pas répondre : Parce que la question dépasse leurs compétences... ou qu'ils ne la comprennent pas.
Ce qui est évident ne l'est que pour ceux qui travaillent avec le fichier. Pour ceux qui essaient de dépanner, ce qui n'est pas expliqué n'existe pas.
Ton fichier de test :
Un USF avec 3 combobox, avec des listes vides, deux bouton dont un renvoie à une macro qui fait référence à une Textbox qui n'existe pas et qui a un code obsolète... et on doit trouver quoi ?
- a insérer les informations des diverses combobox à la première ligne vide avec la prise en compte du nombre de ligne à insérer dans la textbox du userform.
Re : Insertion d'une ou plusieurs lignes via userform
bonjour Vassili,Gorfael
tu as de quoi méditer avec la réponse de Gorfael(et je pense qu'il a raison)
mon truc c'est aider donc j'aide
tu as du code d'après ce que j'ai compris
à bientôt
Re : Insertion d'une ou plusieurs lignes via userform
Bonjour à tous,
Je suis désolé de mettre mal exprimer (j'ai pas l'habitude de poster sur un forum ^^), merci à Gorfael et bebere pour leurs conseils et leurs réponses.
Ce que je voudrais faire avec ce fichier est la chose suivante:
Effectuer une incrémentation automatique pour le type de produit (voir l'exemple sur la feuil1 du fichier excel)
Et ajouter n ligne dans la textbox du userform (du fichier joint toujours) et ces lignes apparaitrons à la première ligne vide
Re : Insertion d'une ou plusieurs lignes via userform
Salut bebere
Oui j'ai vu ton fichier avec les combobox qui fonctionne en effet et merci d'avoir corrigé le tire et a partir de là j'aimerais que le fichier execute les choses que j'ai marqué dans un post précédent
Re : Insertion d'une ou plusieurs lignes via userform
Vassili
toujours un point d'? pour comprendre
le code extrait le chiffre de pièce1
et l'incrémente autant de fois que le nbre de la textbox
si pièce est 1 et nb textbox= 3 tu auras en d 2,3,4
à bientôt
Re : Insertion d'une ou plusieurs lignes via userform
Merci, bebere c'est ce que je voulait mais sauf que:
si je décide d'ajouter plusieurs lignes plusieurs fois, l'incrémentation recommence à partir de 2 alors que je voudrais que cela s'effectue à la suite.
Re : Insertion d'une ou plusieurs lignes via userform
bonjour Vassili
numprod= max+1 colonne d en fonction des choix a,b,c
je me demande si tu n'aurais pas intéret à faire fournisseur,produit,pièce
à bientôt
Re : Insertion d'une ou plusieurs lignes via userform
Merci bebere sa marche très bien il fallait y penser mais j'ai un autre problème, il faudrait que je lie l'incrémentation avec le type de produit et que cela fasse partie d'une même colonne lorsque j'ajoute des lignes dans le userform
Re : Insertion d'une ou plusieurs lignes via userform
Bonjour,
Voilà j'ai fais ce code qui permet d'incrémenter ce que j'ai écris dans le post précédent, seul problème l'incrémentation ne ce fais plus lorsque tu ajoute des lignes. Voici le code ci-dessous:
Code:
Sub AjoutLigne()
Dim Dline As Integer
Dim NumProduit As Integer
Dim Rep As Integer
Dim Cel As Range
Dim LesPostulants As Object
Dim I As Byte
Dim Tmp
With UserForm1
a = .ComboBox1
b = .ComboBox2
c = .ComboBox3
Rep = .TextBox1
End With
With Sheets("Feuil1")
Dline = .Range("A65500").End(xlUp).Row + 1
NumProduit = Evaluate("MAX((A2:A" & Dline & "=""" & a & """)*(B2:B" & Dline & "=""" & b & """)*(C2:C" & Dline & "=""" & c & """)*(D2:D" & Dline & "))") + 1
Do While Rep > 0
.Range("A" & Dline).Value = UserForm1.ComboBox1.Value
.Range("B" & Dline).Value = UserForm1.ComboBox2.Value
.Range("C" & Dline).Value = UserForm1.ComboBox3.Value
.Range("D" & Dline).Value = NumProduit
NumProduit = NumProduit + 1
Dline = Dline + 1
Rep = Rep - 1
Loop
End With
Set LesPostulants = CreateObject("Scripting.Dictionary")
For Each Cel In Range("A2:A" & [A65000].End(xlUp).Row)
Tmp = Split(Cel.Value, "-")
If Not LesPostulants.Exists(Tmp(0)) Then
LesPostulants.Add Tmp(0), Tmp(0)
If InStr(1, Cel, "-") = 0 Then Cel.Value = Cel.Value & "-0"
Else
Cel.Value = Cel.Value & "-" & Application.CountIf(Columns(1), Tmp(0) & "-*")
End If
Next Cel
End Sub
Re : Insertion d'une ou plusieurs lignes via userform
J'ai trouvé! ^^
Code:
Sub AjoutLigne()
Dim Dline As Integer
Dim NumProduit As Integer
Dim Rep As Integer
Dim n As Long
With UserForm1
a = .ComboBox1
b = .ComboBox2
c = .ComboBox3
Rep = Val(.TextBox1.Value)
End With
With Sheets("Feuil1")
Dline = .Range("A2").End(xlDown).Row + 1
NumProduit = 0
For n = 1 To Dline
If Left$(.Cells(n, 1).Value, Len(a)) = a Then NumProduit = NumProduit + 1
Next
Do While Rep > 0
.Cells(Dline, 1).Value = UserForm1.ComboBox1.Value & "-" & NumProduit
.Cells(Dline, 2).Value = UserForm1.ComboBox2.Value
.Cells(Dline, 3).Value = UserForm1.ComboBox3.Value
NumProduit = NumProduit + 1
Dline = Dline + 1
Rep = Rep - 1
Loop
End With
End Sub
-Comment faire une combobox qui récupére des données dans la colonne A d'une autre feuille et que l'information s'insere à la premiere ligne vide de la première feuille par exemple
-Comment faire pour que le chargement des combobox soient moins long lorsque l'on a beaucoup de lignes dans la feuille principale de données