Liste déroulante dont la liste se trouve sur un fichier texte

Résolu
Signaler
Messages postés
17
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
24 avril 2008
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour à tous

Voila je suis en train de faire un formulaire qui calcul des prix d'usinage. Le formulaire ne fait que remplir et lire des valeurs sur un classeur excel. Il sauvegarde le prix obtenu en créaqnt des feuilles dna sle classeur qui porte un nom spécifique. Dans ce formulaire il y a trois ComboBox, pour les alimenter je voudrais que les saisies s'enregistrent dans des fichiers .txt, un pour chaque ComboBox. Je voudrias également que ces données se trient.
Pouvez vous m'aider please

Merci d'avance

Voici le code du formulaire

______________________________
Private Sub CommandButton1_Click()
'Initialisation du formulaire


Sheets("VRP").Select
Dim vrp As ComboBox
    Dim vAdresseDernierVrp
     vAdresseDernierVrp = Range("A16").End(xlUp).Address
        With CalculForm.vrp
            .RowSource = "A2:" & vAdresseDernierVrp
            .ListIndex = 0
End With
   
Sheets("Client").Select
Dim client As ComboBox
    Dim vAdresseDernierClient
vAdresseDernierClient = Range("A5999").End(xlUp).Address
With CalculForm.client
    .RowSource = "A2:" & vAdresseDernierClient
    .ListIndex = 0
End With




Sheets("Profil").Select
Dim profil As ComboBox
    Dim vAdresseDernierProfil
vAdresseDernierProfil = Range("A5999").End(xlUp).Address
With CalculForm.profil
    .RowSource = "A2:" & vAdresseDernierProfil
    .ListIndex = 0
End With


 


longueur.Text = ""


lot.Text = ""


poids.Text = ""


diam.Text = ""


prixcoupe.Text = ""
prixcoupe.Enabled = False


CheckCiman.Value = False
Frame2.Visible = False


 


Sheets("Devis usinage").Select
End Sub


Sub UserForm_Initialize()


 


'Initialisation du formulaire


Sheets("VRP").Select
Dim vrp As ComboBox
    Dim vAdresseDernierVrp
     vAdresseDernierVrp = Range("A16").End(xlUp).Address
        With CalculForm.vrp
            .RowSource = "A2:" & vAdresseDernierVrp
            .ListIndex = 0
End With
   
Sheets("Client").Select
Dim client As ComboBox
    Dim vAdresseDernierClient
vAdresseDernierClient = Range("A5999").End(xlUp).Address
With CalculForm.client
    .RowSource = "A2:" & vAdresseDernierClient
    .ListIndex = 0
End With




Sheets("Profil").Select
Dim profil As ComboBox
    Dim vAdresseDernierProfil
vAdresseDernierProfil = Range("A5999").End(xlUp).Address
With CalculForm.profil
    .RowSource = "A2:" & vAdresseDernierProfil
    .ListIndex = 0
End With


longueur.Text = ""


lot.Text = ""


poids.Text = ""


diam.Text = ""


prixcoupe.Text = ""
prixcoupe.Enabled = False


CheckCiman.Value = False
Frame2.Visible = False


 


Sheets("Devis usinage").Select


End Sub


Private Sub CommandCoupe_Click()


'Vérification de la validité de la référence du profil
If Len(profil.Text) <> 6 Then
    MsgBox "Attention référence profil non valide!!!", vbExclamation
    Exit Sub
End If


'Vérification de remplissage des champs obligatoiresIf longueur.Text "" Or client.Text "" Or profil.Text = "" Or lot.Text = "" Or poids.Text = "" Or diam.Text = "" Then
    MsgBox "Veuillez remplir les champs marqués de (*) !!!", vbExclamation
    Exit Sub
End If




'Recopiage de la feuille devis Usinage
    Sheets("Devis usinage").Select
    Sheets("Devis usinage").Copy Before:=Sheets(1)
   
   
   
'Recopiage des différentes données nécéssaires et lecture du CDP
Sheets("Devis usinage (2)").Select
Range("G3") = longueur.Text
Range("G4") = poids.Text
Range("G5") = diam.Text
Range("g8") = lot.Text
Range("j34") = temps.Text
Range("c2") = client.Text
Range("c3") = vrp.Text
Range("c4") = profil.Text


'Renomme la feuille au nom du profil et de la longueur
Sheets("Devis usinage (2)").Select
    Sheets("Devis usinage (2)").Name = profil.Text & "-" & longueur.Text


'Affiche le CDP dans le formulaire
prixcoupe.Text = Range("C7").Text




   
   
End Sub
Private Sub CheckCiman_Click()


If CheckCiman.Value = True Then
    Frame2.Visible = True
    Else
    Frame2.Visible = False
End If


End Sub
Sub CommandAnnuler_Click()


CalculForm.Hide


End Sub
Sub CommandValider_Click()


If prixcoupe.Text = "" Then
    MsgBox "Aucun prix n'a été calculé!!!, Cliquez sur 'Calcul du prix'", vbExclamation
    Exit Sub
  
   
   
End If
   


'Ajout lors de nouvelles saisies dans les combobox
Dim vNouvelleCellule1
Sheets("VRP").Select
vNouvelleCellule1 = Range("A2").End(xlDown).Offset(1, 0).Address
Range(vNouvelleCellule1) = CalculForm.vrp.Text


Dim vNouvelleCellule2
Sheets("Client").Select
vNouvelleCellule2 = Range("A2").End(xlDown).Offset(1, 0).Address
Range(vNouvelleCellule2) = CalculForm.client.Text


Dim vNouvelleCellule3
Sheets("Profil").Select
vNouvelleCellule3 = Range("A2").End(xlDown).Offset(1, 0).Address
Range(vNouvelleCellule3) = CalculForm.profil.Text


 
 'Le code permet ensuite d'enregistrer (en creant un dossier) une copie du fichier dans le chemin suivant
 
' "[file://\\srvflain\Ordonnancement\Devis \\srvflain\Ordonnancement\Devis] Usinage


Dim lFileName As String


lFileName = "[file://\\srvflain\Ordonnancement\Devis \\srvflain\Ordonnancement\Devis] Usinage"
On Error Resume Next
MkDir lFileName
lFileName = lFileName & "" & Month(Now) & " - " & Year(Now)
MkDir lFileName
On Error GoTo 0
 
lFileName = lFileName & "" & Range("K12").Value & "" & Range("K12").Value
 
monfichier = "[file://\\srvflain\Ordonnancement\Devis \\srvflain\Ordonnancement\Devis] Usinage" & client.Text & "-" & profil.Text & "-" & longueur.Text
  
  'Puis si le fichier existe deja, un nouveau format ajoutant la date permet de ne pas ecraser le precedent :
 
'
 
  
If Dir(monfichier & ".xls") <> "" Then
jour = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
monfichier = monfichier & " " & jour
End If
monfichier = monfichier & ".xls"
  
ThisWorkbook.SaveAs Filename:=monfichier, FileFormat:=xlNormal


 
MsgBox "Sauvegarde terminée."




CalculForm.Hide




End Sub
________________________

5 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Ayons le reflexe Codyx.

Charger un ComboBox ou une ListBox à partir d'un fichier (et vice versa)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
17
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
24 avril 2008

Merci mais pourrais tu m'expliquer un peu plus que je sache refaire après
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Je trouve le snippet assez clair, qu'est ce que tu ne comprends pas dedans exactement?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
17
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
24 avril 2008

Ba je trouve ca compliquer (je suis débutant et me cantonne à programmer pour Excel)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,

Bis: "qu'est ce que tu ne comprends pas dedans exactement?"

@+: Ju£i?n
Pensez: Réponse acceptée