Bonsoir à tous,
je continue avec mon moteur de recherche...j'avance bien mais j'ai une procédure qui ne fonctionne pas. En fait, la première recherche d'un contrat particulier fonctionne mais celle qui recherche tous les contrats par type de modification ne marche pas du tout. Elle marchait hier soir mais là plus du tout et je sais pas ce que j'ai touché ...grrrrrrr
Gorfaël si tu peux m'accorder quelques minutes
J'exporte l'USF...et je le joins
Merci par avance, Marion
Heu non je le copie parce que je n'ai que les compressions .rar et que le temps que je télécharge winzip j'aurai plus de cheveux
je joins quand même le fichier sans les macros pour bien comprendre
Option Explicit
Private Sub Cbo_Contrat_Change()
If Me.Cbo_Contrat.ListIndex >= 0 Then
Me.CdeValider.Enabled = True
Else
Me.CdeValider.Enabled = True
End If
End Sub
Private Sub Cbo_modification_Change()
If Me.Cbo_modification.ListIndex >= 0 Then
Me.CdeValider.Enabled = True
Else
Me.CdeValider.Enabled = False
End If
End Sub
Private Sub Cde_Quit_Click()
Unload Me
End Sub
Private Sub CdeValider_Click()
Dim vContrat As String
Dim vRéponse As String
Dim vInstruction As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim flg_Test As Boolean
vContrat = Trim(Cbo_Contrat)
vInstruction = Trim(Cbo_modification)
Unload USF_Rech
For k = 1 To Sheets("Tableau").Range("B65536").End(xlUp).Row
If Sheets("Tableau").Cells(k, 2).Value = vContrat Then
Sheets("Recherche").Range("E6") = Sheets("Tableau").Cells(k, 1)
For i = 4 To 8
If Sheets("Tableau").Cells(k, i) <> "" Then
Sheets("Recherche").Range("E8") = Sheets("Tableau").Cells(k, i)
Sheets("Recherche").Range("E7") = Sheets("Tableau").Cells(2, i)
flg_Test = True
Exit For
End If
Next i
flg_Test = True
Exit For
End If
Next k
If flg_Test = False Then
If Len(vContrat) < 8 Then
vRéponse = MsgBox("Veuillez entre un n° de contrat à 8 caractères", vbOKOnly, "Attention")
Load USF_Rech
USF_Rech.Show
End If
vRéponse = MsgBox("Ce contrat n'a pas été modifié sur la période." & Chr(10) & "Voulez vous saisir un nouveau contrat ?", vbYesNo + vbInformation, "Attention")
If vRéponse = vbNo Then Unload USF_Rech
If vRéponse = vbYes Then USF_Rech.Show
End If
For k = 4 To Sheets("Tableau").Range("B65536").End(xlUp).Row
Dim LigneARajoutee As Integer
If vInstruction = "M.E.L." Then
If Sheets("Tableau").Cells(k, 4) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 4).Value
If vInstruction = "Cession" Then
If Sheets("Tableau").Cells(k, 6) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 6).Value
If vInstruction = "Régularisation" Then
If Sheets("Tableau").Cells(k, 5) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 5).Value
If vInstruction = "Patrimoine" Then
If Sheets("Tableau").Cells(k, 7) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 7).Value
End If
End If
End If
End If
End If
End If
End If
End If
Next k
End Sub
Private Sub Crit_1_AfterUpdate()
End Sub
Private Sub Lbl_Titre_Click()
End Sub
Private Sub Userform_Initialize()
Me.Sel_Fonction.Value = 0
Dim Cel As Range
Dim x
For Each Cel In Sheets("tableau").Range(Sheets("tableau").[B4], _
Sheets("tableau").[B65536].End(xlUp))
Me.Cbo_Contrat.AddItem Cel.Value
Next Cel
Call Sel_Fonction_Change
End Sub
Private Sub Sel_Fonction_Change()
'1 : Contrat 2:Type de modification 3ériode
Select Case Me.Sel_Fonction.Value
Case 0 'Contrat
Me.Lbl_Titre = "Recherche par numéro de contrat"
Me.Caption = "RECHERCHE PAR CONTRAT"
Me.Lbl_Crit_1 = "Numéro du Contrat"
Me.Cbo_Contrat.Text = ""
Me.Cbo_Contrat.Visible = True
Me.Cbo_Contrat.SetFocus
Me.Crit_1.Visible = False
Me.Crit_2.Visible = False
Me.Lbl_Crit_2.Visible = False
Me.Cbo_modification.Visible = False
Case 1 'Type de modification
Me.Lbl_Titre = "Recherche par type de modification"
Me.Caption = "RECHERCHE PAR TYPE DE MODIFICATION"
Me.Lbl_Crit_1 = "Type de modification"
Me.Cbo_modification.Visible = True
Me.Cbo_modification.Clear
Me.Cbo_modification.SetFocus
Me.Cbo_modification.AddItem "M.E.L."
Me.Cbo_modification.AddItem "Cession"
Me.Cbo_modification.AddItem "Régularisation"
Me.Cbo_modification.AddItem "Patrimoine"
Me.Crit_1.Visible = False
Me.Cbo_Contrat.Visible = False
Me.Crit_2.Visible = False
Me.Lbl_Crit_2.Visible = False
Case 2 'Période
Me.Lbl_Titre = "Recherche par Période"
Me.Caption = "RECHERCHE PAR DATES"
Me.Lbl_Crit_1 = "Date de début"
Me.Crit_1.Text = ""
Me.Crit_2.Text = ""
Me.Crit_1.Visible = True
Me.Lbl_Crit_1.Visible = True
Me.Crit_1.SetFocus
Me.Cbo_Contrat.Visible = False
Me.Cbo_modification.Visible = False
Me.Crit_2.Visible = True
Me.Lbl_Crit_2.Visible = True
Me.Crit_2.SetFocus
End Select
End Sub
je continue avec mon moteur de recherche...j'avance bien mais j'ai une procédure qui ne fonctionne pas. En fait, la première recherche d'un contrat particulier fonctionne mais celle qui recherche tous les contrats par type de modification ne marche pas du tout. Elle marchait hier soir mais là plus du tout et je sais pas ce que j'ai touché ...grrrrrrr
Gorfaël si tu peux m'accorder quelques minutes
J'exporte l'USF...et je le joins
Merci par avance, Marion
Heu non je le copie parce que je n'ai que les compressions .rar et que le temps que je télécharge winzip j'aurai plus de cheveux
je joins quand même le fichier sans les macros pour bien comprendre
Option Explicit
Private Sub Cbo_Contrat_Change()
If Me.Cbo_Contrat.ListIndex >= 0 Then
Me.CdeValider.Enabled = True
Else
Me.CdeValider.Enabled = True
End If
End Sub
Private Sub Cbo_modification_Change()
If Me.Cbo_modification.ListIndex >= 0 Then
Me.CdeValider.Enabled = True
Else
Me.CdeValider.Enabled = False
End If
End Sub
Private Sub Cde_Quit_Click()
Unload Me
End Sub
Private Sub CdeValider_Click()
Dim vContrat As String
Dim vRéponse As String
Dim vInstruction As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim flg_Test As Boolean
vContrat = Trim(Cbo_Contrat)
vInstruction = Trim(Cbo_modification)
Unload USF_Rech
For k = 1 To Sheets("Tableau").Range("B65536").End(xlUp).Row
If Sheets("Tableau").Cells(k, 2).Value = vContrat Then
Sheets("Recherche").Range("E6") = Sheets("Tableau").Cells(k, 1)
For i = 4 To 8
If Sheets("Tableau").Cells(k, i) <> "" Then
Sheets("Recherche").Range("E8") = Sheets("Tableau").Cells(k, i)
Sheets("Recherche").Range("E7") = Sheets("Tableau").Cells(2, i)
flg_Test = True
Exit For
End If
Next i
flg_Test = True
Exit For
End If
Next k
If flg_Test = False Then
If Len(vContrat) < 8 Then
vRéponse = MsgBox("Veuillez entre un n° de contrat à 8 caractères", vbOKOnly, "Attention")
Load USF_Rech
USF_Rech.Show
End If
vRéponse = MsgBox("Ce contrat n'a pas été modifié sur la période." & Chr(10) & "Voulez vous saisir un nouveau contrat ?", vbYesNo + vbInformation, "Attention")
If vRéponse = vbNo Then Unload USF_Rech
If vRéponse = vbYes Then USF_Rech.Show
End If
For k = 4 To Sheets("Tableau").Range("B65536").End(xlUp).Row
Dim LigneARajoutee As Integer
If vInstruction = "M.E.L." Then
If Sheets("Tableau").Cells(k, 4) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 4).Value
If vInstruction = "Cession" Then
If Sheets("Tableau").Cells(k, 6) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 6).Value
If vInstruction = "Régularisation" Then
If Sheets("Tableau").Cells(k, 5) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 5).Value
If vInstruction = "Patrimoine" Then
If Sheets("Tableau").Cells(k, 7) <> "" Then
LigneARajoutee = Sheets("Recherche").Range("C65536").End(xlUp).Row + 1
Sheets("Recherche").Range("C" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 2).Value
Sheets("Recherche").Range("D" & LigneARajoutee).Value = Sheets("Tableau").Cells(k, 7).Value
End If
End If
End If
End If
End If
End If
End If
End If
Next k
End Sub
Private Sub Crit_1_AfterUpdate()
End Sub
Private Sub Lbl_Titre_Click()
End Sub
Private Sub Userform_Initialize()
Me.Sel_Fonction.Value = 0
Dim Cel As Range
Dim x
For Each Cel In Sheets("tableau").Range(Sheets("tableau").[B4], _
Sheets("tableau").[B65536].End(xlUp))
Me.Cbo_Contrat.AddItem Cel.Value
Next Cel
Call Sel_Fonction_Change
End Sub
Private Sub Sel_Fonction_Change()
'1 : Contrat 2:Type de modification 3ériode
Select Case Me.Sel_Fonction.Value
Case 0 'Contrat
Me.Lbl_Titre = "Recherche par numéro de contrat"
Me.Caption = "RECHERCHE PAR CONTRAT"
Me.Lbl_Crit_1 = "Numéro du Contrat"
Me.Cbo_Contrat.Text = ""
Me.Cbo_Contrat.Visible = True
Me.Cbo_Contrat.SetFocus
Me.Crit_1.Visible = False
Me.Crit_2.Visible = False
Me.Lbl_Crit_2.Visible = False
Me.Cbo_modification.Visible = False
Case 1 'Type de modification
Me.Lbl_Titre = "Recherche par type de modification"
Me.Caption = "RECHERCHE PAR TYPE DE MODIFICATION"
Me.Lbl_Crit_1 = "Type de modification"
Me.Cbo_modification.Visible = True
Me.Cbo_modification.Clear
Me.Cbo_modification.SetFocus
Me.Cbo_modification.AddItem "M.E.L."
Me.Cbo_modification.AddItem "Cession"
Me.Cbo_modification.AddItem "Régularisation"
Me.Cbo_modification.AddItem "Patrimoine"
Me.Crit_1.Visible = False
Me.Cbo_Contrat.Visible = False
Me.Crit_2.Visible = False
Me.Lbl_Crit_2.Visible = False
Case 2 'Période
Me.Lbl_Titre = "Recherche par Période"
Me.Caption = "RECHERCHE PAR DATES"
Me.Lbl_Crit_1 = "Date de début"
Me.Crit_1.Text = ""
Me.Crit_2.Text = ""
Me.Crit_1.Visible = True
Me.Lbl_Crit_1.Visible = True
Me.Crit_1.SetFocus
Me.Cbo_Contrat.Visible = False
Me.Cbo_modification.Visible = False
Me.Crit_2.Visible = True
Me.Lbl_Crit_2.Visible = True
Me.Crit_2.SetFocus
End Select
End Sub