userform besoin d'aide

  • Initiateur de la discussion Initiateur de la discussion pouty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pouty

Guest
<< BONJOUR AU FORUM

<< Bien que débutant en vba j'ai rechercher dans ce forum un userform de saisie mais je cale pour la réalisation.
<< je demande de l'aide pour construire une interface (userform de saisie ,entré + sortie + moteur de recherche + impression)

<< MERCI à vos réponse apporter
 

Pièces jointes

Re : userform besoin d'aide

<< Le fichier correspond et fonctionne bien je voudrais savoir si il faudrait realiser une autre colonne pour que je puisse trier au mois dans la listview :

<< Exemple : toutes les donnees des sorties du 01/10 au 31/10 - du 01/11 au 30/11 etc..........

<< dans la colonne palettes avoir un total au moi

<< MERCI DEJA POUR CE SUPER BOULOT
 
Re : userform besoin d'aide

Bonsoir
Ton appli est super ! ( je garde pour la forme)
Par contre je ne sais pas à qui cela est destiné ( utilisateurs) ? mais j'ai essayé de cocher une ligne en orange puis faire "modif" et cela plante !!!! au niveau de :

If dimcol(j) <> 0 Then
.ListItems(nuitem).ListSubItems(j).Text = Sheets(nomf1).Cells(ligne1, j)
End If

Il me semble que c'était déjà un de tes Pb précédent ? , même si cela n'est pas une manip normale , et dans le cas d'utilisation libre de ton appli ... il faudra verifier et parer à cela
Enfin .. tu as bien bossé quand même
 
Re : userform besoin d'aide

Bonsoir herve62

Bonsoir


If dimcol(j) <> 0 Then
.ListItems(nuitem).ListSubItems(j).Text = Sheets(nomf1).Cells(ligne1, j)
End If

Il me semble que c'était déjà un de tes Pb précédent ? , même si cela n'est pas une manip normale , et dans le cas d'utilisation libre de ton appli ... il faudra verifier et parer à cela
Enfin .. tu as bien bossé quand même
Merci pour la remarque. Effectivement la macro plante a ce niveau, l'erreur provient du décalage entre les les colonnes de la feuille et de la listview.

Je corrige le problème

JP
 
Re : userform besoin d'aide

Bonjour le fil

Ci joint la dernière version a tester.

Comme dans les "listview" le tri sur les dates ne fonctionne pas du fait que les données sont la forme "string", j'utilise des colonnes cachées. Il suffit dans le module1 d'indiquer les colonnes qui contiennent des dates et a l'initialisation la macro génère automatiquement les colonnes.

JP
 

Pièces jointes

Dernière édition:
Re : userform besoin d'aide

<< Bonjour JP14

<< J'ai tester la derniere version j'ai une erreur qui survient au niveau :

<< Private Sub Initlistview()
'ligne2 = Mid(ListView1.ListItems(Item.Index).Key, 2, 50)
Dim dc1 As Long 'dernière colonne
Dim j As Long
Dim date1 As Date
Dim mois1 As String
Dim jour1 As String

nbcollist = 0
ListView1.CheckBoxes = True
ListView1.ListItems.Clear
'----- remplissage ListView------------------------
With ListView1
'Définit le nombre de colonnes et Entêtes

With .ColumnHeaders
'Supprime les anciens entêtes
.Clear
'Ajoute x colonnes en spécifiant le nom de l'entête
'et la largeur des colonnes
For i = 1 To Sheets(nomf1).Range("IV" & nulititre).End(xlToLeft).Column
If dimcol(i) <> 0 Then
.Add , , Sheets(nomf1).Cells(nulititre, i), dimcol(i)
nbcollist = nbcollist + 1
ncldate(i) = False
If coldate(i) = True Then ncldate(nbcollist) = True

End If
Next i

coldate1 = nbcollist ' coldate1 contient la dernière colonne affichée

For i = 1 To nbcollist
If ncldate(i) = True Then
.Add , , "tridate", 0

nbcollist = nbcollist + 1
ncldatetri(i) = nbcollist
End If
Next i

End With


'Remplissage des colonnes
For i = nulititre + 1 To Sheets(nomf1).Range("A65536").End(xlUp).Row
' colonne
On Error GoTo suite1
.ListItems.Add , "l" & i, Sheets(nomf1).Cells(i, 1)
For j = 2 To Sheets(nomf1).Range("IV" & nulititre).End(xlToLeft).Column
If dimcol(j) <> 0 Then
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets(nomf1).Cells(i, j)
End If
Next j
'colonne pour des dates
' principe création d'une colonne cachée avrc comme contenu
' la date sous la forme aaaammmjj
' lorsque l'on clique sur la colonne date on intercepte le numéro de la colonne
' que l'on remplace par le numéro de cette colonne variable coldate1

For j = 1 To 10
If coldate(j) = True Then ' si coldate(j) est une date

If IsDate(Sheets(nomf1).Cells(i, j)) Then
date1 = Sheets(nomf1).Cells(i, j)


If Len(Month(date1)) < 2 Then
mois1 = "0" & Month(date1)
Else
mois1 = Month(date1)
End If


If Len(Day(date1)) < 2 Then
jour1 = "0" & Day(date1)
Else
jour1 = Day(date1)
End If

.ListItems(.ListItems.Count).ListSubItems.Add , , Year(date1) & mois1 & jour1
Else
.ListItems(.ListItems.Count).ListSubItems.Add , , "00000000"
End If
End If
Next j
suite1:
Resume Next
Next i


--------------------
'Spécifie l'affichage en mode "Détails"

.View = lvwReport 'affichage en mode Rapport
.Gridlines = True 'affichage d'un quadrillage
.FullRowSelect = True 'Sélection des lignes complètes
.LabelEdit = 1 'empêcher la modification manuelle des données en spécifiant la valeur 1
.MultiSelect = True 'Pour autoriser la multi sélection, vous devez tout d'abord passer la propriété Multiselect à True. Ensuite sélectionnez les lignes en gardant enfoncée la touche Ctrl.

End With
End Sub


<< Merci
 
Re : userform besoin d'aide

Bonjour

Pour simplifier la recherche, il faut dans le cas d'une erreur prendre l'option "déboguage" le système se positionne sur la ligne incriminée.
A l'aide de la souris on se déplace sur les différents variables pour vérifier la valeur.

Le fichier étant trop gros j'ai supprimé des signes - il manque dans la macro l'apostrophe devant -------
Je corrige et remet le fichier en ligne.

JP
 
Re : userform besoin d'aide

Bonsoir
Je continue à tester l'appli ... donc dernière version
Je me suis amusé à ajouter un article ex :
143 ( car j'ai vu 142 à droite , je suppose qu'il faut +1 ?)
18/12
oeufs
6/7
2
2
30
15
puis enregistrer ( au passage , en tabulation le focus passe par "enregistrer" après "cat" au lieu de "pal" )
et là ça plante ( image jointe) , en debogage on ne voit pas de ou, car c'est le début , juste que 'i' =138 , devrait peut-être =142 ? , je ne sais pas
 

Pièces jointes

  • button_10.jpg
    button_10.jpg
    41.1 KB · Affichages: 56
Re : userform besoin d'aide

<< Pourrais je savoir si on peux soit dans la listview faire apparaitre les donnéés comme un filtre excel du mois d'octobre ou novembre ect..avec le tolal des palettes pour la facture du mois ?

<< MERCI
 
Re : userform besoin d'aide

Bonsoir

Bonsoir
Je continue à tester l'appli ... donc dernière version
Je me suis amusé à ajouter un article ex :
143 ( car j'ai vu 142 à droite , je suppose qu'il faut +1 ?)

puis enregistrer ( au passage , en tabulation le focus passe par "enregistrer" après "cat" au lieu de "pal" )

Il faut modifier la macro en rajoutant i=ligne1 comme ci dessous

If ligne1 = 0 Then Exit Sub
i = ligne1

La valeur indiquée est le numéro de la ligne ou sera inscrit les nouvelles données.

Il est possible de modifier l'usf de saisie en rajoutant des combobox des dtpicker ( saisie d'une date).

JP
 
Dernière édition:
Re : userform besoin d'aide

Bonsoir

<< Pourrais je savoir si on peux soit dans la listview faire apparaitre les donnéés comme un filtre excel du mois d'octobre ou novembre ect..avec le tolal des palettes pour la facture du mois ?

<< MERCI

Ci joint un fichier avec l'userform1 modifié et l'userform4 pour faire des totaux.

A importer et à tester

JP
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
14
Affichages
618
  • Question Question
Réponses
7
Affichages
343
Retour