ouverture d'usf par une listbox

Alexandre_13

XLDnaute Nouveau
construire un programme de a à z

Bonjour tout le monde!
Malgrès de nombreuses recherche sur le forum, je reste bloqué au début de mon projet.
j'essai depuis plusieur jour d'ouvrir d'autres usf a partir des éléments de ma listbox. Je vous donne ce que j'ai fait .bon la première partie fonctionne mais lorsque je sélectionne un engin dans ma liste il ne se passe rien.bon je vous remerci et espère que l'un de vous pouras m'aider, à bientôt.
Option Explicit
Private Sub UserForm_Initialize()
ListBox1.RowSource = ("Engins!Les_engins")
ListBox1.ListIndex = -1
ListBox1.MultiSelect = fmMultiSelectExtended
End Sub
Private Sub ListBox1_click()
Dim ListIndex("Hyster") As String
ListIndex("Hyster") = "userform2"
VBA.UserForms.Add ListIndex.Show:
End Sub
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : ouverture d'usf par une listbox

bonsoir Alexandre
pour les différents filtres(air,moteur,etc)as tu différents types(akxx,lfxxx)
je pensais travailler avec une listbox filtre et une 2ème avec les types de filtre
une feuille données dans laquelle on mettrait tout cela
je te fais un essai et je te l'envoye sitôt près
pour ton invitation,un grand merçi mais j'habite en belgique et toi dans le sud de la france,je pense(+ de 1000km je pense)
à bientôt
 

Bebere

XLDnaute Barbatruc
Re : ouverture d'usf par une listbox

Alexandre un exemple est plus parlant(lol)
j'ai ajouté userform3,tu peux entrer des données qui vont dans la feuille hyster
ajouté feuille données
à bientôt
 

Pièces jointes

  • EntretienEngins.zip
    17.5 KB · Affichages: 34

Alexandre_13

XLDnaute Nouveau
Re : ouverture d'usf par une listbox

Salut Bebere c'est très intéressant ce que tu a fait, je vais voir comment l'adapter.
Il faut savoir que lors que l'on fait l'entretien périodique des engins, tous les filtres sont changés. Mais il est vrais que quelquefois lors de problèmes de fonctionnement de l'appareil on peut être amené à n'en changé qu'un.
Le compteur d'heure fonctionne comme un compteur kilométrique, c'est une base qui nous donne la périodicité des vidanges et donc changement des filtres (toutes les 400 h).
La référence des filtres change en fonction des fournisseurs, c'est pour ça que tu vois sur la feuille des filtres plusieurs références sur la même ligne.
Enfin la texbox ou l’opérateur rédige les travaux qu’il a réalise peut contenir plusieurs ligne de texte, surtout lors des pannes de l’engin lorsqu’il va dire les pièces qui ont été change lors de la réparation.
Je suis vraiment contant que tu m’aides à ce point parce que je pense que je ne m’en serais jamais sorti tout seul.
Bon aller je vais plancher. Merci et à bientôt.
Au fait je vais te mettre dans la liste de mes amis sur le forum, qui est par ailleurs vide.
Bonne journée Alex
 

Bebere

XLDnaute Barbatruc
Re : ouverture d'usf par une listbox

bonjour Alexandre,le Forum
je vais te compléter ce que j'ai commencé,pour ajouter supprimer des données de la feuille données comme cela tu sauras comment faire,si tu as besoin d'autre chose il suffit de demander le forum est la pour cela
amitiés bebere
 

Alexandre_13

XLDnaute Nouveau
Re : ouverture d'usf par une listbox

Re Bebere! encore moi!!!
j'éssai de mettre la date et l'heure dans mon userform avec textbox2 = Now,
sans faire le reset des checkbox.
comment dois-je faire pour l'intégrer à la version que je t'ai envoyé tout à l'heure?
merci pour tout
 

Bebere

XLDnaute Barbatruc
Re : ouverture d'usf par une listbox

Alexandre
dans la version que tu m'as envoyé il y avait une faute
private sub userform2_initialyse()
il ne faut pas de 2,c'est pour cela l'explication en dessous
je t'envoye le fichier non zippé
à bientôt
 

Pièces jointes

  • Entretien engins.xls
    43.5 KB · Affichages: 205
  • Entretien engins.xls
    43.5 KB · Affichages: 203
  • Entretien engins.xls
    43.5 KB · Affichages: 190

Alexandre_13

XLDnaute Nouveau
Re : ouverture d'usf par une listbox

je m'excuse! je n'ai pas compris!:mad: :confused: :( :confused:
voilà ce que j'ai écris:

Private Sub userform_intialize()
Workbooks("Entretien engins (version 2).xls").Activate
TextBox = Now
'message d'erreur :" erreur de compilation: variable non définie"
' si je met
textbox2= Now
Pas de message d'erreur mais cela ne change rien à l'ouverture de l'usf, la date et l'heure n'apparaissent pas dans range ("a")

Dim I As Byte
For I = 1 To 6
Controls("CheckBox" & I) = False
Next I


End Sub


Private Sub Commandbutton1_click()
With Worksheets("Filtres")
If CheckBox1.Value = True Then .Range("N6").Value = .Range("N6").Value - 1
If CheckBox2.Value = True Then .Range("N21").Value = .Range("N21").Value - 1
If CheckBox3.Value = True Then .Range("N32").Value = .Range("N32").Value - 1
If CheckBox4.Value = True Then .Range("N46").Value = .Range("N46").Value - 1
If CheckBox5.Value = True Then .Range("N57").Value = .Range("N57").Value - 1
If CheckBox6.Value = True Then .Range("N68").Value = .Range("N68").Value - 2
End With
Dim c As Integer
With Worksheets("Hyster")
c = .Range("a65536").End(xlUp).Row + 1
.Range("a" & c).Value = TextBox2.Value
.Range("b" & c).Value = TextBox1.Value
.Range("i" & c).Value = TextBox3.Value
If CheckBox1.Value = True Then .Range("c" & c).Offset = ("changé")
If CheckBox2.Value = True Then .Range("d" & c).Offset = ("changé")
If CheckBox3.Value = True Then .Range("e" & c).Offset = ("changé")
If CheckBox4.Value = True Then .Range("f" & c).Offset = ("changé")
If CheckBox5.Value = True Then .Range("g" & c).Offset = ("changé")
If CheckBox6.Value = True Then .Range("h" & c).Offset = ("changés")
End With
Unload UserForm2
End Sub

Private Sub Commandbutton2_click()
ActiveWindow.WindowState = xlNormal
Unload UserForm2
End Sub
 
Dernière édition:

Alexandre_13

XLDnaute Nouveau
Re : ouverture d'usf par une listbox

Bonjour Bebere , le forum
bon j'arrive au bout de mon projet.
comment dois-je faire pour interdire la validation de l'usf si les textbox 1 et 3 ne sont pas remplis.
ensuite, ne permettre dans textbox1 que l'inscription de chiffres.
et dernière question, est il possible d'ouvrir directement un usf par un racourci sur le bureau sans que les feuilles du classeur apparessent.
voilà j'espère que tu auras encore un peux de courage pour me répondre
Un grand Merci
Alex
 

Bebere

XLDnaute Barbatruc
Re : ouverture d'usf par une listbox

bonjour Alexandre
clic droit souris sur thisworkbook sous vba pour voir code
pour la suite code dans bouton valider de userform2 et module1 pour cacher montrer feuilles
à bientôt
 

Pièces jointes

  • ClasseurAlex.zip
    20.1 KB · Affichages: 23
  • ClasseurAlex.zip
    20.1 KB · Affichages: 32
  • ClasseurAlex.zip
    20.1 KB · Affichages: 35

Alexandre_13

XLDnaute Nouveau
Re : ouverture d'usf par une listbox

Merci Bebere
Pour les feuilles caché ça marche, j’ouvre bien l'userfom1 mais le seul problème celui ci sert de choix pour appeler les autres userform et là ça bloque

Private Sub userform_initialize()
Dim Plage As String
Plage = sheets("Engins").Range("A1:A14").Address
ListBox1.RowSource = "Engins!" & Plage
End Sub

Private Sub ListBox1_change()
Dim I As Byte

I = Val(ListBox1.ListIndex)
If I = 1 Then UserForm2.Show ici ça bloque, erreur d'exécution N°9 l'indice n'appartient pas à la selection
If I = 2 Then UserForm3.Show
If I = 3 Then UserForm4.Show
If I = 4 Then UserForm5.Show
If I = 5 Then UserForm6.Show
If I = 6 Then UserForm7.Show
If I = 7 Then UserForm8.Show
If I = 8 Then UserForm9.Show
If I = 9 Then UserForm10.Show
If I = 10 Then UserForm11.Show
If I = 11 Then UserForm12.Show
If I = 12 Then UserForm13.Show
If I = 13 Then UserForm14.Show
Unload UserForm1
End Sub

Ah oui aussi, quand les feuilles sont cachées comment les fait tu réapparaître
Bonne soirée @+
Alex
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : ouverture d'usf par une listbox

Alexandre
ça bloque parce que l'userform qui apparait est userform2
tu vas dans le code thisworbook et tu changes le 2 par celui qu'il te faut
ensuite pour faire apparaitre un userform tu dois cacher(userformx.hide) ou décharger (unload userformx)celui actif
dans module1 tu as une procédure pour cacher ou montrer les feuilles
expliqué dans envoi précédent ou y a t'il un problème(le dire)
à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 836
Messages
2 092 651
Membres
105 479
dernier inscrit
chaussadas.renaud