Bonsoir le fil,
Jacky, j'ai essayé de reconduire ta solution VBA sur le projet final => plantage !!!
Sans voir ton code, ce sera difficile
J'utilise déjà du code VBA très copieux pour la mise en page, je renseigne environ 25 cellules qui sont testés... faut-il modifier ton code de manière à le distinguer de l'existant ? je ne pense pas puisque dans "Worksheet_SelectionChange" ton code désigne la cible B3.
Ce code sert seulement à effacer la cellule B6
Ce qui a comme conséquence(avantage) de ne rien affiche dans les cellules des résultats au changement de langue, mais là, par formule.
Dim temp As String
la variable "temp" est le diminutif de quoi ? elle sert à quoi ?
C'est un nom quelconque, on aurait pu l'appeler 'Tartanpion'
Elle sert a mémoriser le contenu la cellule B3
elle est déclarée de manière "global" pour la rendre commune aux deux Private Sub.
Juste
Donc pas besoin de lui attribuer une valeur. C'est bien ça ?
Elle prend la valeur de la cellule B3 a chaque fois que celle-ci est sélectionnée par la macro ''Private Sub Worksheet_SelectionChange(ByVal Target As Range)''
If Target.Count > 1 Then Exit Sub
KéZaKo ? peux-tu m'expliquer ?
Ejection de la macro si la sélection est multiple
If Target.Value = temp Then Exit Sub
ça voudrait dire : si la cible (cellule que l'on renseigne) est égale à la variable temp alors on sort de la macro; C'est bien ça ?
Juste
Il es inutile d'effacer B6 si la langue sélectionnée est identique à celle en cours
mais comme je ne sais pas ce que tu attends de cette variable... KéZaKo ?
c'est sur cette ligne que le débogeur c'est placé lors du plantage
Si cela fonctionne dans le classeur exemple , le problème vient d'ailleurs
If Target.Address = "$B$3" Then [b6] = ""
là c'est bon j'ai compris : quand on renseigne la cible (la celleule B3) alors on efface B6
en terme de pourcentage, je n'ai pas suivi grand chose.
Tu es courageux, tu vas y arriver.