UserForm et relevé automatique

Bonsoir le forum,

J'ai besoin de vous, j'ai crée un User Form disponible en cliquant sur le bouton à droite du tableau sur la page "File". Cette UserForm est censé ajouter une boite à la suite du tableau. A chaque boite est affecté un numéro, ainsi qu'une localisation. Par mesure de simplicité, toutes le splaces disponibles ont été inscrites dans le tableau. D'ailleurs à la suite de ce tableau, dans la colonne N (colonne actuellement masqué), se trouve une colonne "Disponibilité".

Ce que je voudrais faire : Dans l'USF, lorsque l'utilisateur a terminé d'entrer les données, il clique sur "OK". Dès qu'il clique sur celui-ci, Excel relève le premier numéro de boite déclaré comme disponible ( "yes" dans la colonne disponibilité) et l'inscrit dans le textbox "Box Number". Et cela va de même pour la localisation de la box ( box location / Line - Column - section - Position). une fois ces donnés inscrites, l'utlisateur clique sur "add", ce qui copie toutes les données entrées dans le tableau à la suite.

Le fichier, étant un fichier original, et donc trop volumineux, j'ai été contraint de l'héberger sur un site, je suis vraiment désolé.

Je comprendrais encore une fois que ma demande est assez compliqué, donc je vous remercie d'avance pour l'aide que vous pourriez me fournir.

Bonne soirée,

Aluand

Salut le forum

Tu as déjà toutes les explications sur https://forum.excel-pratique.com/post143898.html#p143898

Mytå

Oups je croyais avoir continuer sur le même post, est-il possible de mettre sa à la suite ?

Désolé

Bonjour,

Bof... on point ou on en est YAKA continuer ici. De toute façon cette dernière question n'a pas eu l'air de motiver les foules.

Je vais essayer un peu de gratter pour voir, mais il faut un peu de patience.

A+

Je te remercie beaucoup Galopin, Papou avait réussi à me le faire, mais je n'arrive pas à l'adapter sur l'original qui est certes different.

Cf : https://forum.excel-pratique.com/excel/ajouter-boite-releve-automatique-t25273.html

Bonsoir,

rajoute ça dans ton module USF :

Private Sub CommandButton1_Click()
Dim i&
i = FFBOX()
Cells(i, 2) = ComboBox1
Cells(i, 3) = ComboBox2
' et ainsi de suite en complétant
End Sub

et cette fonction :

Private Function FFBOX()
Dim i&
For i = 1 To 50000
If Cells(i, 14).Value = "YES" Then
Exit For
End If
Next
FFBOX = i
End Function

A+

C'est parfait, c'est exactement ce que je voulais, à un petit détail près : est-ce possible d'afficher dans les textbox la localisation de la boite, c'est à dire qu'une fois que l'on a cliqué sur OK , les valeurs des cellules J à M ainsi que celle de la cellule A de la première ligne qui comporte Yes en dispo, se mettent chacune dans les textbox qui correspondent dans l'USF, de sorte que l'utilisateur puisse voir avant de terminer l'emplacement et le numéro de la boite qu'il va ajouter.

est-ce possible ?

en tout cas, un grand merci

bon...jour !

Modifier comme suit :

Private Sub CommandButton4_Click()
Dim i&

If ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" Then
  UserForm1.Height = 486
  Label1.ForeColor = &H80000012
  Label2.ForeColor = &H80000012
  Label10.ForeColor = &H80000012

  i = FFBOX()
  TextBox6 = i
  TextBox7 = Cells(i, 10)
  TextBox8 = Cells(i, 11)
  TextBox9 = Cells(i, 12)
  TextBox10 = Cells(i, 13)

Else
  UserForm1.Height = 305
  Label1.ForeColor = &HFF&
  Label2.ForeColor = &HFF&
  Label10.ForeColor = &HFF&
  MsgBox "Please complete the mandatory fields (*)"
End If

End Sub

A+

Un énorme merci à toi Galopin pour ton aide si précieuse !! C'est parfait, et exactement ce que je voulais

Un grand merci à Papou aussi.

Bonne journée

Aluand


Sonjour le forum, Galopin, Papou,

Je viens de voir qu'il y a un petit problème, lorsque l'on clique sur "OK" cela afffiche bien tout mais il y a une erreur, au lieu d'afficher par exemple 14763 (pour le prochain ajout), il affiche 14765, mais une fois que l'on clique sur "Add" , tout se met bien dans 14763.

La valeur affichée dans la TextBox6 n'est pas la bonne, il y a toujours +2

Comment faire ?

Bonne journée

Bonjour Aluand le forum

bon alors tu changes de post pas de soucis, mais pour l'adaptation de ton fichier il faut toujours joindre un fichier représentatif comme cela il n'y a pas à adapter !!!

Pour la modif pas le temps là je pars bosser on verra cela ce soir

mais entre temps tu peux me joindre le dernier fichier avec les modifs et les explications dans le fichier de ce que tu veux exactement pour m'éviter de lire tous les posts

a+

papou

Bonjour tout le monde,

J'ai finalement reussi a obtenir ce que je voulais, a un petit detail pres. Lorsque je rentre les dates, et que sa se colle dans le tableau, celle ci n'apparaisse pas comme des dates mais comme de simples numero. Ce qui pose proble;e lorsque l'on veut utiliser les filtres par la suite.

Comment faire ?

Merci beaucoup

Ben tu mets ta colonne au format date ! Mais personnellement je n'ai pas de problème d'affichage sur ton modèle !

Mea Culpa : il y a quelques bogues sur la numérotation des lignes :

Je te redonnes le code corrigé :

Private Sub CommandButton4_Click()
Dim i&

If ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" Then
  UserForm1.Height = 486
  Label1.ForeColor = &H80000012
  Label2.ForeColor = &H80000012
  Label10.ForeColor = &H80000012

  i = FFBOX()
  TextBox6 = i
  TextBox7 = Cells(i + 2, 10)
  TextBox8 = Cells(i + 2, 11)
  TextBox9 = Cells(i + 2, 12)
  TextBox10 = Cells(i + 2, 13)

Else
  UserForm1.Height = 305
  Label1.ForeColor = &HFF&
  Label2.ForeColor = &HFF&
  Label10.ForeColor = &HFF&
  MsgBox "Please complete the mandatory fields (*)"
End If

End Sub
Private Sub CommandButton1_Click()
Dim i&
i = FFBOX()
Cells(i + 2, 2) = ComboBox1
Cells(i + 2, 3) = ComboBox2
Cells(i + 2, 7) = TextBox4
Cells(i + 2, 8) = TextBox5
Cells(i + 2, 9) = ComboBox3
' et ainsi de suite en complétant
End Sub
Private Function FFBOX()
Dim i&
For i = 1 To 50000
If Cells(i, 14).Value = "YES" Then
Exit For
End If
Next
FFBOX = i - 2
End Function

A+

Rechercher des sujets similaires à "userform releve automatique"