Microsoft 365 Affichage qui fluctue et gene la sélection de cellule

capc93

XLDnaute Junior
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

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
 

Pièces jointes

  • image005.jpg
    image005.jpg
    24.7 KB · Affichages: 20
  • image003.png
    image003.png
    19.1 KB · Affichages: 20
  • image004.png
    image004.png
    29.9 KB · Affichages: 19

capc93

XLDnaute Junior
Bonjour,
j'ai neutralisé dans la fonction listctrlmif_click le code worksheets("Outil MIF").LthemeanoMIF.selected(0)=true
Ça paraît plus stable mais je ne comprends pas pourquoi puisque le problème survient après un clic sur l'autre listbox.

Si quelqu'un a des idées......
 

Discussions similaires

Réponses
49
Affichages
1 K

Statistiques des forums

Discussions
315 126
Messages
2 116 482
Membres
112 761
dernier inscrit
delaveau