Ouverture usf par 2 boutons
bonjour a vous tous
je voudrais ouvrir un usf avec une listview mais a partir du choix de 2 boutons sur un autre usf donc j'ai essayer ceci mais sans succes, la listview doit se remplir en fonction du choix des boutons
dans l'initialisation de l'usf j'ai cette partie qui me pose un souci au niveau boutons car ni click ni value ne fonctionne
mais en ne laissant que la ligne chemin.... cela fonctionne mais sans choix
If UserForm1.CommandButton2.Value <> "" Then
Chemin = "C:\facturation\devis\"
Else
If UserForm1.CommandButton9.Value <> "" Then
Chemin = "C:\facturation\facture\"
End Ifce bloc est issu de celui ci
Private Sub UserForm_Initialize()
Dim Fichier As Object, FSO As Object, C As Range, Ctr As Long, F As Object
If gestionfiches.CommandButton2.Value <> "" Then
Chemin = "C:\facturation-test\devis\"
Else
If gestionfiches.CommandButton9.Value <> "" Then
Chemin = "C:\facturation-test\facture\"
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
'Définit les entêtes de colonnes
With ListView1
With .ColumnHeaders
.Clear 'Supprime les anciens entêtes
'Ajout des colonnes
.Add , , "Nom fichier", 200
.Add , , "Taille (ko)", 50, lvwColumnRight
.Add , , "Créé le", 60, lvwColumnCenter
.Add , , "Modifié le", 60, lvwColumnCenter
.Add , , "Commentaires", 190, lvwColumnLeft
End With
.View = lvwReport 'affichage en mode Rapport
.Gridlines = True 'affichage d'un quadrillage
.FullRowSelect = True 'Sélection des lignes comlètes
End With
'----- Remplissage ListView------------------------
With ListView1
For Each Fichier In FSO.getfolder(Chemin).Files
Ctr = Ctr + 1
.ListItems.Add , , Fichier.Name
.ListItems(Ctr).ListSubItems.Add , , Fichier.Name
.ListItems(Ctr).ListSubItems.Add , , Fichier.Size / 1024
.ListItems(Ctr).ListSubItems.Add , , Fichier.datecreated
.ListItems(Ctr).ListSubItems.Add , , Fichier.datelastmodified
Next Fichier
End With
End If
End Suble code des boutons est ceci
Private Sub CommandButton2_Click() 'modification
'Unload Me
modif_devis.Caption = "modification d'un devis"
modif_devis.Label1.Visible = False
modif_devis.Show
End Sub
Private Sub CommandButton9_Click() 'modification facture
modif_devis.Caption = "modification d'une facture"
modif_devis.Label1.Visible = False
modif_devis.Show
End SubPascal
Bonjour
A première vue tu devrais utiliser des OptionButtons
bonjour Banzai64
Merci pour ta réponse mais des optionbutton ne cadre pas avec le reste
je vais te joindre un exemple sorti de son contexte avec des bug
Pascal
edit
je n'avais pas remarqué avant cause largeur colonne trop petite mais pourquoi les 2 1ères colonnes se charge de la même chose
bonjour Banzai64
je suis en cours de modification afin de remplacer les boutons par des labels qui seront peut etre plus souple a utiliser
je te tiens au courant si j'y arrive
Pascal
cela ne change rien c'est pareil, les labels sont plus esthétique que les boutons c'est tout je te joints le changement
Pascal
Bonjour
Je comprends mieux ton problème
Chaque fois que tu cliques sur un bouton de l'usf gestionfiches tu inscris le bon chemin dans un label (masqué) soit de l'usf gestionfiches ou de l'usf modif_devis
Ce qui pourrait donner comme code
Dans l'usf modif_devis tu as un label qui se nomme "LabelChemin" que tu rends non visible
Dans l'usf gestionfiches
Private Sub CommandButton12_Click()
With modif_devis
.LabelChemin.Caption = "C:\facturation-test\facture\"
.Caption = "modification d'une facture"
.Label1.Visible = False
.Show
End With
End Sub
Private Sub CommandButton13_Click()
With modif_devis
.LabelChemin.Caption = "C:\facturation-test\devis\"
.Caption = "modification d'un devis"
.Label1.Visible = False
.Show
End With
End SubEt dans l'usf modif_devis
Private Sub UserForm_Activate()
Dim Fichier As Object, FSO As Object, C As Range, Ctr As Long, F As Object
Chemin = Me.LabelChemin.Caption
Set FSO = CreateObject("Scripting.FileSystemObject")
'----- Remplissage ListView------------------------
With ListView1
For Each Fichier In FSO.getfolder(Chemin).Files
Ctr = Ctr + 1
.ListItems.Add , , Fichier.Name
'.ListItems(Ctr).ListSubItems.Add , , Fichier.Name
.ListItems(Ctr).ListSubItems.Add , , Fichier.Size / 1024
.ListItems(Ctr).ListSubItems.Add , , Fichier.datecreated
.ListItems(Ctr).ListSubItems.Add , , Fichier.datelastmodified
Next Fichier
End With
End Sub
Private Sub UserForm_Initialize()
'Définit les entêtes de colonnes
With Me.ListView1
With .ColumnHeaders
.Clear 'Supprime les anciens entêtes
'Ajout des colonnes
.Add , , "Nom fichier", 200
.Add , , "Taille (ko)", 50
.Add , , "Créé le", 60
.Add , , "Modifié le"
.Add , , "Commentaires", 190
End With
.View = lvwReport 'affichage en mode Rapport
.Gridlines = True 'affichage d'un quadrillage
.FullRowSelect = True 'Sélection des lignes comlètes
End With
End SubA tester
bonjour Banzai64
j'ai le même bug avec les 2 fichiers exemples que j'ai joints ( commandbutton où label ) je te joints l'aperçu
Pascal
edit: c'est parfait après la création d'un labelchemin car celui que tu évoques comme caché est introuvable
j' ai mis en commentaire les autres colonnes de la listview
j'ai meme problème de chemin avec le bouton "valider"
Private Sub CommandButton1_Click()
Chemin = "C:\facturation-test\devis\"
Workbooks.Open Chemin & "\" & Me.ListView1.SelectedItem.Text
Unload Me
End SubPascal
Bonjour
Remplaces la ligne correspondante par
.ListItems(Ctr).ListSubItems.Add , , Round(Fichier.Size / 1024, 2)Supprimes la ligne
Private Sub CommandButton1_Click()
'Chemin = "C:\facturation-test\devis\"
Workbooks.Open Chemin & "\" & Me.ListView1.SelectedItem.Text
Unload Me
End Subbonsoir Banzai64
Merci beaucoup de ton intervention de ce dimanche
ceci clos ce post
Pascal