[-ANNULLATO-]Ordre des code dans meme sub

Ilino

XLDnaute Barbatruc
Forum Bonjour and :eek:Buon Anno Nuovo :eek:
je vous solicite a m'aider pour résoudre mon souci ci dessous :

dans mon USF ( fichier ci rattaché) je souhaite lors de la sélection une donnée dans le ComboBox8 j'aurai automatiquement une valeur qui le correspond ( selon la feuille "Contrat") ce code est fait ( merci bénévole) et fonctionne bien
Code:
.......
'chercher et afficher LE Cocontractant selon le N° CONTRAT
LI1 = ComboBox8.ListIndex + 2
TextBox4 = Sheets("Contrats").Cells(LI1, 4)
If ComboBox8.ListIndex = -1 Then TextBox4 = "":
Exit Sub
........
en même temps je souhaite afficher une liste déroulante dans le ComboBox9 automatiquement qui correspond a la donnée de ComboBox8( selon la feuille "Contrat") ce code est fait ( merci bénévole) et fonctionne bien
Code:
...........
'afficher la liste ouvrage selon le NUM Contrat
For Each cel In plage 'boucle sur toutes les cellules éditées cel de la plage
    'si la valeur de la cellule cel est égale à la valeur de lq ComboBox1, ajoute la cellule ajdacente à cel (colonne B) à la Combobox2
    If cel.Value = Me.ComboBox8.Value Then Me.ComboBox9.AddItem cel.Offset(0, -1).Value
Next cel 'prochaine cellule de la boucle'''
Exit Sub
.......
MAIS mon grand souci si je rassemble les deux code dans la meme ComboBox ça fonctionne pas ???

Code:
Private Sub ComboBox8_Change()

'chercher et afficher LE Cocontractant selon le N° CONTRAT
LI1 = ComboBox8.ListIndex + 2
TextBox4 = Sheets("Contrats").Cells(LI1, 4)
If ComboBox8.ListIndex = -1 Then TextBox4 = "":
Exit Sub

ComboBox8 = UCase(ComboBox8) 'N° CONTRAT en MAJUSCUL

'afficher la liste ouvrage selon le NUM Contrat
For Each cel In plage 'boucle sur toutes les cellules éditées cel de la plage
    'si la valeur de la cellule cel est égale à la valeur de lq ComboBox1, ajoute la cellule ajdacente à cel (colonne B) à la Combobox2
    If cel.Value = Me.ComboBox8.Value Then Me.ComboBox9.AddItem cel.Offset(0, -1).Value
Next cel 'prochaine cellule de la boucle'''
Exit Sub


Me.ComboBox9.Clear 
End Sub
est ce que l'ordre est important ???
grazie
 

Pièces jointes

  • ILINO COMBOBOX ET TEXT ORDREv9.2'.xlsm
    54.2 KB · Affichages: 26
  • ILINO COMBOBOX ET TEXT ORDREv9.2'.xlsm
    54.2 KB · Affichages: 24
  • ILINO COMBOBOX ET TEXT ORDREv9.2'.xlsm
    54.2 KB · Affichages: 26
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Ordre des code dans meme sub

bonjout Ilino,

le problème est le même que le chien qui tourne en rond en se mordant la queue

la ligne: ComboBox8 = UCase(ComboBox8) 'N° CONTRAT en MAJUSCUL

re-déclenche la macro et ça tourne en rond

il est nécessaire d'ajouter:
Application.EnableEvents = False ( au début de la procédure)

et:
Application.EnableEvents = True ( en fin de procédure )

à+
Philippe
 

Ilino

XLDnaute Barbatruc
Re : Ordre des code dans meme sub

Bonjour PHILIPPE
and grazie pour la réponse
ci joint la Modif
Code:
Private Sub ComboBox8_Change()
Me.ComboBox9.Clear 'vide la Combobox2

'ComboBox8 = UCase(ComboBox8) 'N° CONTRAT en MAJUSCUL


Application.EnableEvents = False
'chercher et afficher LE Cocontractant selon le N° CONTRAT
LI1 = ComboBox8.ListIndex + 2
TextBox4 = Sheets("Contrats").Cells(LI1, 4)
If ComboBox8.ListIndex = -1 Then TextBox4 = "":
'Exit Sub
'Application.EnableEvents = True

'Application.EnableEvents = False
'afficher la liste ouvrage selon le NUM Contrat
For Each cel In plage 'boucle sur toutes les cellules éditées cel de la plage
    'si la valeur de la cellule cel est égale à la valeur de lq ComboBox1, ajoute la cellule ajdacente à cel (colonne B) à la Combobox2
  If cel.Value = Me.ComboBox8.Value Then Me.ComboBox9.AddItem cel.Offset(0, -1).Value
Next cel 'prochaine cellule de la boucle'''
Exit Sub
Application.EnableEvents = True

End Sub
ça fonctionné très bien apres avoir supprimer le code
Code:
ComboBox8 = UCase(ComboBox8) 'N° CONTRAT en MAJUSCUL
mais je souhaite avoir dans le comboBox 8 les lettres en majuscule ???
A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Ordre des code dans meme sub

Re,

si tu avais fait exactement ce que j'ai dit, il n'y aurait pas eu de problème

il est nécessaire d'ajouter:
Application.EnableEvents = False ( au début de la procédure)

et:
Application.EnableEvents = True ( en fin de procédure )

je n'ai jamais dit de supprimer la ligne
ComboBox8 = UCase(ComboBox8) 'N° CONTRAT en MAJUSCUL

au début de la procédure = juste en dessous du
Private Sub ComboBox8_Change()

à+
Philippe
 

Ilino

XLDnaute Barbatruc
Re : Ordre des code dans meme sub

Re
ne t'énerve pas PHILLIPE, je tous testé mais ....
Code:
'===================================== Mon souci est la ====================================================================
Private Sub ComboBox8_Change()
Application.EnableEvents = False
'chercher et afficher LE Cocontractant selon le N° CONTRAT
LI1 = ComboBox8.ListIndex + 2
TextBox4 = Sheets("Contrats").Cells(LI1, 4)
If ComboBox8.ListIndex = -1 Then TextBox4 = "":
'Exit Sub

ComboBox8 = UCase(ComboBox8) 'N° CONTRAT en MAJUSCUL

'afficher la liste ouvrage selon le NUM Contrat
For Each cel In plage 'boucle sur toutes les cellules éditées cel de la plage
    'si la valeur de la cellule cel est égale à la valeur de lq ComboBox1, ajoute la cellule ajdacente à cel (colonne B) à la Combobox2
    If cel.Value = Me.ComboBox8.Value Then Me.ComboBox9.AddItem cel.Offset(0, -1).Value
Next cel 'prochaine cellule de la boucle'''
'Exit Sub

Me.ComboBox9.Clear 'vide la Combobox2
Application.EnableEvents = True

End Sub
'========================================================================================================

le combobox 9 n'affiche rien ?
GRAZIE PHILLIPE
A+
 

Pièces jointes

  • ILINO COMBOBOX ET TEXT ORDREv9.2'.xlsm
    54 KB · Affichages: 30
  • ILINO COMBOBOX ET TEXT ORDREv9.2'.xlsm
    54 KB · Affichages: 28
  • ILINO COMBOBOX ET TEXT ORDREv9.2'.xlsm
    54 KB · Affichages: 30
Dernière édition:

Ilino

XLDnaute Barbatruc
Re : Ordre des code dans meme sub

Re
merci pour tous le monde pour les remarques et les conseils , si vous permettez je vous joint mon fichier finale ( USINE A GAZ je suis désolé) qui me pose des difficultés dans le code de ComboBox8, maintenant j'ai trouvé un other Pblm si je selectionne dans le ComboBox8: cCON10 il affiche dans le TextBox4 "coco2" alors qu'il doit affiché coco10 ( selon le tableau de la feuille Contrat)
Please I awash
A+
 

Pièces jointes

  • ILINO Note v9.3.xlsm
    146 KB · Affichages: 29

Ilino

XLDnaute Barbatruc
Re : Ordre des code dans meme sub

Bonsoir JM:eek:
j'ai un autre souci mais cette fois deux textbox qui dpend d'un Combobox
c'est le USF (nouveau_ouvrage) a ce niveau la
Code:
'chercher et afficher LE DELAIS et ODS selon le N° CONTRAT
Private Sub ComboBox2_Change() 'N Contrat
LI1 = ComboBox2.ListIndex + 2
TextBox2 = Sheets("Contrats").Cells(LI1, 5) 'délais
TextBox3 = Sheets("Contrats").Cells(LI1, 6) 'Date ODS
If ComboBox2.ListIndex = -1 Then TextBox2 = "":
If ComboBox2.ListIndex = -1 Then TextBox3 = "":
Exit Sub
End Sub
dans le même fichier a partir de Con10 il s'affiche dans les two Textbox d'autre valeur (qui ne correspond pas au con10 selon la feuille "Contrat")
GRAZIE ENCORE POUR LA NIEMME FOIS
 

Ilino

XLDnaute Barbatruc
Re : Ordre des code dans meme sub

Bonjour JM
CI DESSOUS LE CODE ADDAPTER A 2 EME USF
Code:
Private Sub ComboBox2_Change()
 'chercher et afficher LE DELAIS selon le N° CONTRAT
 ComboBox2 = UCase(ComboBox2) 'N° CONTRAT en MAJUSCUL
 Me.ComboBox1.Clear
 
 For Each cel In plage 'boucle sur toutes les cellules éditées cel de la plage
     'si la valeur de la cellule cel est égale à la valeur de lq ComboBox1, ajoute la cellule ajdacente à cel (colonne B) à la Combobox2
     If StrConv(cel.Value, vbUpperCase) = Me.ComboBox2.Value Then
         Me.ComboBox1.AddItem
         Me.ComboBox1.List(NbLigneUtilisée, 0) = cel.Offset(0, -1).Value
         Me.ComboBox1.List(NbLigneUtilisée, 1) = cel.Row
         NbLigneUtilisée = NbLigneUtilisée + 1
     End If
 Next cel 'prochaine cellule de la boucle'''
 End Sub

 Private Sub ComboBox1_Change()
     If Me.ComboBox1.ListIndex = -1 Then
         Me.TextBox2 = ""
     Else
         Me.TextBox2 = Sheets("Contrats").Cells(CByte(ComboBox1.List(ComboBox1.ListIndex, 1)), 5)
     End If
 End Sub
MAIS IL SE BUG A CE NIVEAU
Code:
Me.TextBox2 = Sheets("Contrats").Cells(CByte(ComboBox1.List(ComboBox1.ListIndex, 1)), 5)
AVEC UN MESSAGE D'ERREUR 94 :Utilisation incorrecte de Null
et voila le code lui meme il m'a dit que je suis NUL:D
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 279
Messages
2 086 722
Membres
103 378
dernier inscrit
phdrouart