Bonjour,
Tout d’abord je m’excuse de ne pas pouvoir montrer autre chose que des copies d’écran (hormis le code) mais je vais essayer d’expliquer le plus clairement possible mon problème.
Il s’agit d’un fichier générant des commentaires en fonction de différentes sélections
Cf image 5: Lorsqu’on selectionne un des 6 boutons radios la listbox de droite (ListCtrlMIF) s’alimente (en fonction du bouton selectionné)
Cf image 3: Lorsqu’on selectionne un item de la listbox, une 2ème listebox apparait (LthemeanoMIF) et si on selectionne une item de cette dernière listbox, des commentaires apparaissent en dessous (« Bordereau de souscription absent… ect)cf image 4
Les selections dans les listbox permettent en fait un filtre des commentaires. Le but est ensuite de double cliquer sur un commentaire pour qu’il aille se coller dans la ligne commentaire type
Le problème qui se pose est que l’affichage n’est pas stable du tout et ce de façon totalement aléatoire. Pas de problème avec le 1erlistbox mais lorsqu’on selectionnne un item du 2ème listbox et qu’on veut double cliquer sur le commentaire, la selection du 2èmeitem peut s’annuler (la selection de la listbox s’efface) et il faut recommencer 1, 2 voir 3 fois la selection avant de pouvoir double cliquer.
Avez-vous une idée de qui manque ou est mal fait dans mon code ? Je vous remercie par avance pour votre retour.
Voici le code de l’onglet
Tout d’abord je m’excuse de ne pas pouvoir montrer autre chose que des copies d’écran (hormis le code) mais je vais essayer d’expliquer le plus clairement possible mon problème.
Il s’agit d’un fichier générant des commentaires en fonction de différentes sélections
Cf image 5: Lorsqu’on selectionne un des 6 boutons radios la listbox de droite (ListCtrlMIF) s’alimente (en fonction du bouton selectionné)
Cf image 3: Lorsqu’on selectionne un item de la listbox, une 2ème listebox apparait (LthemeanoMIF) et si on selectionne une item de cette dernière listbox, des commentaires apparaissent en dessous (« Bordereau de souscription absent… ect)cf image 4
Les selections dans les listbox permettent en fait un filtre des commentaires. Le but est ensuite de double cliquer sur un commentaire pour qu’il aille se coller dans la ligne commentaire type
Le problème qui se pose est que l’affichage n’est pas stable du tout et ce de façon totalement aléatoire. Pas de problème avec le 1erlistbox mais lorsqu’on selectionnne un item du 2ème listbox et qu’on veut double cliquer sur le commentaire, la selection du 2èmeitem peut s’annuler (la selection de la listbox s’efface) et il faut recommencer 1, 2 voir 3 fois la selection avant de pouvoir double cliquer.
Avez-vous une idée de qui manque ou est mal fait dans mon code ? Je vous remercie par avance pour votre retour.
Voici le code de l’onglet
VB:
Private Sub ListCtrlMIF_Click()
' afin de pouvoir travailler dans d'autres fichiers excel sans bug
If ActiveSheet.Name <> "Outil MIF" Then 'si la feuille active n'est pas "Outil MIF"
Exit Sub ' sortie de la procédure ListCtrlMIF_Click
End If
val_code = Worksheets("Outil MIF").Range("H10").Value
If val_code = "A0" Or val_code = "A1" Or val_code = "A2" Or val_code = "A3" Or val_code = "A4" Or val_code = "A5" Or val_code = "A6" Then
Worksheets("Outil MIF").LthemeanoMIF.Visible = True
Worksheets("Outil MIF").LthemeanoMIF.Selected(0) = True
Else
Worksheets("Outil MIF").LthemeanoMIF.Visible = False
End If
End Sub
Private Sub LthemeanoMIF_Click()
' afin de pouvoir travailler dans d'autres fichiers excel sans bug
If ActiveSheet.Name <> "Outil MIF" Then 'si la feuille active n'est pas "Outil MIF"
Exit Sub ' sortie de la procédure ListCtrlMIF_Click
End If
val_code = Worksheets("Outil MIF").Range("H11").Value
val_code2 = Worksheets("Outil MIF").Range("H10").Value
Worksheets("Outil MIF").Activate
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'y = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row ' fin des lignes
'ActiveSheet.Range("$A$15").AutoFilter Field:=8
'ActiveSheet.Range("$A$15").AutoFilter Field:=5, Criteria1:="CRA"
ActiveSheet.Range("$A$19").AutoFilter Field:=7, Criteria1:=val_code2
ActiveSheet.Range("$A$19").AutoFilter Field:=8, Criteria1:=val_code
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveSheet.Range("A1").Select
End Sub
Private Sub motifsctrlssobjet_Click()
'Gestion de l'afichage du bouton d'information des motifs de contrôles sans objet
MsgBox ("Contrat d'Assurance-Vie renoncé dans Life.net" & Chr(10) & "Tiers décédé")
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim y, x, nomCRA
y = Target.Row
x = Target.Column
If y = 5 Or y = 7 Or y = 9 Or y = 11 Then
Rows(y).EntireRow.AutoFit 'Ajuste automatiquement la hauteur de ligne
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Gestion double clic sur selection commentaire type
Dim x, y, testcel, testano, var_text, var_CT, compl_CT, Ttext, Rtext, code_CT
y = Target.Row
x = Target.Column
If Target.Address <> "$B$1" And Target.Address <> "$B$2" And Target.Address <> "$B$3" And Target.Address <> "$B$4" _
And Target.Address <> "$B$5" And Target.Address <> "$B$6" And Target.Address <> "$B$8" And Target.Address <> "$B$7" _
And Target.Address <> "$B$8" And Target.Address <> "$B$9" And Target.Address <> "$B$10" And Target.Address <> "$B$11" Then
'permet le double clic sans message d'erreur si on est pas en B4 ou B8.
Cancel = True
testano = Left(Range("G" & y).Value, 1)
'Si on veut ajouter une anomalie
If testano = "A" Then
testcel = Range("B5").Value
var_CT = Range("B" & y).Value
var_text = InStr(1, var_CT, "/")
If var_text > 0 Then
Ttext = Len(var_CT)
Rtext = Right(var_CT, Ttext - var_text + 2)
Ttext = Len(Rtext)
Rtext = Left(Rtext, Ttext - 5)
code_CT = Right(var_CT, 5)
compl_CT = InputBox("Veuillez préciser le commentaire: " & var_CT, "Préciser la saisie", Rtext)
Ttext = Len(var_CT)
var_CT = Left(var_CT, var_text - 2)
var_CT = var_CT + compl_CT + code_CT
End If
'Code pour générer les données du conseil
If Range("B7").Value = "" Then
'avec conseil
If Range("H1").Value = "Vrai" Or Range("H2").Value = "Vrai" Or Range("H3").Value = "Vrai" Or Range("H4").Value = "Vrai" Then
myvar = Sheets("Outil MIF").Range("B7").Value
var_date = InputBox("Veuillez saisir la date du conseil", "Saisie", "xx/xx/xxxx")
var_etude = InputBox("Veuillez saisir le numéro d'étude")
Range("B9").Value = "Défaut d'archivage ou de formalisation du document"
myvar = " Conseil du " & var_date & " Etude " & var_etude & ""
Sheets("Outil MIF").Range("B7").Value = myvar
Else 'sans conseil
var_montant = InputBox("Veuillez saisir le montant de l'opération et sa fréquence", "Saisie", "montant EUR et/ou montant EUR par mois")
var_support = InputBox("Veuillez saisir le support de l'opération", "Saisie", "nom_du_support/code_ISIN")
var_enveloppe = InputBox("Veuillez saisir l'enveloppe de l'opération", "Saisie", "nom_de_lenveloppe/produit")
'Range("B9").Value = "Défaut d'archivage ou de formalisation du document"
myvar = " Souscription de " & var_montant & " sur le support " & var_support & " de l'enveloppe " & var_enveloppe & myvar
Sheets("Outil MIF").Range("B7").Value = myvar
End If
End If
If testcel = "" Then
Range("B5").Value = Range("B5").Value + Range("E" & y).Value + " - " + Range("F" & y).Value
Else
Range("B5").Value = Range("B5").Value + Chr(10) + Range("E" & y).Value + " - " + Range("F" & y).Value
End If
testcel = Range("B7").Value
If testcel = "" Then
Range("B7").Value = Range("B7").Value + var_CT
Else
Range("B7").Value = Range("B7").Value + Chr(10) + var_CT
End If
End If
End If
testcel = Cells(y, 6).Value
If testcel = "Document absent" Then
Range("B9").Value = "Défaut d'archivage ou de formalisation du document"
Range("B11").Value = "Merci de vous référer au Flash Archivage et à la fiche pratique Focus conformité disponibles dans Canal PRI"
End If
End Sub