Tuto:Créer automatiquement case à cocher liée cellule en-dessous [Fermé]

Signaler
Messages postés
13
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
7 octobre 2014
-
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
-
Bonjour,

Je me suis penché sur le problème suivant : comment créer, sous Excel, des cases à cocher liées automatiquement à la cellule sur la laquelle on a placé la dite case à cocher.

En effet, il n'est pas possible sans VBA (langage de programmation sur Excel), de créer plusieurs cases à cocher en même temps. Vous pouvez faire des copié-collés mais si vous voulez lier votre case à une cellule, vois devrez procéder manuellement : il vous faudra pour chacune de vos copies sélectionner la cellule à lui lier.

Je me permets en conséquence d'étayer mes conclusions :

Afin de réaliser tout cela j'ai créer un script VBA :

Sub CreateACheckboxLinkedToACellJustAboveIt()


Dim range As range
Dim cell As range

Set range = Selection

For Each cell In range

If cell.MergeArea.Cells.Resize(1, 1).Address = cell.Address Then
    ActiveSheet.CheckBoxes.Add(cell.MergeArea.Cells.Left, cell.MergeArea.Cells.Top, cell.MergeArea.Cells.Width, cell.MergeArea.Cells.Height).Select
    Selection.Characters.Text = ""
    cell.MergeArea.Cells.NumberFormat = ";;;" 'Keep it only if you want a cell which looks like an empty cell but with a value which is invisible but usable
    With Selection
        .Value = xlOff
        .LinkedCell = cell.MergeArea.Cells.Address
        .Display3DShading = False
    End With
End If

Next cell


End Sub



Il vous suffit de copier-coller ce dernier dans un fichier texte dont vous allez modifier l'extension. Par exemple si vous avez appelé votre fichier "monfichier.txt" renommez le "monfichier.bas". Il ne s'agit pas juste du nom du fichier mais de son type c'est pourquoi il faut modifier l'extension et ne pas juste ajouter ".bas" à la fin du nom.

Enfin sur Excel, allez dans Options puis dans Personnaliser le ruban puis sur la liste déroulante de droite nommée également Personnaliser le ruban, ds Onglets Principaux, cochez la case Développeur. Vous avez maintenant accès à un nouvel onglet. Allez donc dans l'onglet Développeur, puis à gauche cliquez sur Visual Basic. Une nouvelle fenêtre s'ouvre alors. Poursuivez en allant, en haut à gauche, dans Fichier puis Importer un fichier... ou plus simplement en faisant Ctrl+M. Ouvrez alors votre fichier ("monfichier.bas" pas exemple) via le menu qui vient de s'ouvrir.

Quittez la fenêtre, vous revenez ainsi à votre document Excel. Maintenant vous n'avez plus qu'à sélectionner les cellules où vous voulez avoir des cases à cocher et aller sur Macros (dans l'onglet Développeur) puis à exécuter CreateACheckboxLinkedToACellJustAboveIt. Vous allez voir apparaître des cases à cocher sur chaque case sélectionnée. De plus, ce script fonctionne aussi sur les cases fusionnées.

J'ai également créer un autre script qui permet de créer des cases à cocher non liées à des cellules mais étant là aussi créer automatiquement au-dessus des cellules sélectionner. Le voici :

Sub CreateACheckboxAboveACell()


Dim range As range
Dim cell As range

Set range = Selection

For Each cell In range

If cell.MergeArea.Cells.Resize(1, 1).Address = cell.Address Then
    ActiveSheet.CheckBoxes.Add(cell.MergeArea.Cells.Left, cell.MergeArea.Cells.Top, cell.MergeArea.Cells.Width, cell.MergeArea.Cells.Height).Select
    Selection.Characters.Text = ""
    With Selection
        .Value = xlOff
        .Display3DShading = False
    End With
End If

Next cell


End Sub


Pour l'exécuter, procédez de la même façon mais évidemment en cliquant sur CreateACheckboxAboveACell au lieu de CreateACheckboxLinkedToACellJustAboveIt.

Ps : vous n'êtes pas obligé de créer un fichier vous pouvez aussi copier-coller le script depuis Visual Basic sur un nouveau Module (à créer donc). Et j'ai tout écrit en anglais pour plus de cohérence et d'ouverture linguistique.

11 réponses

Messages postés
9968
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 mai 2021
1 142
Bonjour,
Autre possibilité avec une fausse case à cocher, voir exemple : https://www.cjoint.com/?3IBxjJKzyAo

Messages postés
13
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
7 octobre 2014

Je viens de tester ça : il y a quelques défauts avec cette méthode.

Par exemple tu ne peux pas te servir de la valeur de la cellule pour faire des calculs ou alors tu te les compliques.
En effet tu es chaque fois obligé d'y associer du code VBA, ce qui n'est pas le cas avec mon script : on utilise VBA seulement pour créer les cases à cocher mais après elles sont indépendantes.
De plus, avec ces fausses cases à cocher, il faut chaque fois adapter le script VBA pour avoir la bonne plage de cellule.

Pour conclure, c'est plus du bricolage qu'une vraie solution.
Mais ça peut être pratique même si c'est plutôt limité.

Merci pour ta réponse :)
Messages postés
9968
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 mai 2021
1 142
Bonjour,
Merci de vos commentaires.
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Bonjour,

@Vendreur Jack : J'interviens ici suite à ton interpellation via MP.

Comme je te l'ai dit en MP, je peux, (tout comme Le Pingou le peux), faire de cette discussion un tutoriel.
Cependant, il faut étudier la problématique sous tous les angles.

1- Pour ton tuto, il serait de bon ton d'étudier la proposition de Le Pingou.
Comment la développer pour en arriver aux mêmes fins que toi, c'est à dire comment se servir de la valeur de la cellule pour faire des calculs? Ainsi le tuto proposerait deux pistes aux internautes.

2- As tu envisagé la piste Module de classe? En voilà une troisième.

3- Il convient également de préciser que cette solution VBA n'est valable que dans les cas de nombreuses cases à cocher. texte du tutoriel à revoir.

4- Lorsque l'on a une réponse ici ou ailleurs, les commentaires du style : Pour conclure, c'est plus du bricolage qu'une vraie solution. Mais ça peut être pratique même si c'est plutôt limité. ne poussent pas vraiment à obtenir une continuité dans la discussion. Ne pas oublier qu'à la lecture nous ne savons pas sur quel ton c'est dit, d'autant plus que l'on ne se connait pas...

@ Le Pingou :
Salut,
Comment va?
Acceptes tu de poursuivre ce sujet?

Messages postés
9968
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 mai 2021
1 142
Bonjour pijaku,
Merci, je constate que tu as lu dans mes pensées (pt 4).
De mon côté cela va bien pour mon âge.
A la question : Acceptes tu de poursuivre ce sujet? C'est non pour l'instant j'ai d'autres engagements qui ..... !
Je te souhaite une agréable et excellente semaine.
Amicales salutations.
Le Pingou
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Pas de souci.
Si tu as le temps, par ci par là, et que tu peux jeter ton oeil dans le coin, ce ne sera pas de refus.
Je vais donc continuer ici.
Merci pour l'agréable semaine. A toi également
Amicalement,
Franck
Messages postés
13
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
7 octobre 2014

Bonjour,

Merci pour ta réponse : tu soulèves des points importants. :D

1) Alors tout d'abord pour répondre aux 4ème et 1er points : J'ai été trop expéditif et j'aurai dû préciser ma pensée plus clairement ^^

En effet, je trouve la solution de Le Pingou vraiment intéressante :

- Concernant la programmation sur Excel, je suis encore débutant : son code m'apparaît déjà assez ingénieux et au-dessus de mon niveau. Il est vraiment instructif :D

- Le visuel de la cellule est même meilleur : la case peut-être agrandie et facilement centrée; et elle a la classe en plus (le "v" est plus esthétique") ;)

Il y a cependant quelques inconvénients inhérents à cette méthode mais on peut les surmonter :

- Il y aura toujours besoin de code, de plus il faut personnaliser le code pour une plage de cellules :/ Mais on pourrait imaginer une macro qui recrée ton script pour la plage sélectionnée. Le code reste mais on a pas besoin de le modifier à la main, donc tout le monde peut l'utiliser :D

- La valeur de la cellule est monopolisée mais on pourrait peut-être jouer dessus avec le format de la cellule (Standard, Nombre, Monétaire ...) pour afficher du texte ou autres.

- La cellule ne peut pas être sélectionnée via un déplacement depuis une case adjacente : mais ça c'est tout à fait logique. C'est plus de la triche ^^

- Pour utiliser la valeur de la cellule : on peut créer une macro qui renvoie la valeur de la cellule en fonction de s'il y un "o" ou pas par exemple, ou qui converti automatiquement un "o" en un chiffre lors du calcul.

Après je sais pas si on peut s'en servir pour depuis une cellule sans passer par VBA mais sinon plus simplement on peut aussi utiliser une des opérations qui cherchent un ou des termes dans la valeur de la cellule ;)

- Si on en utilise beaucoup c'est plus lourd pour l'ordinateur puisqu'il a pas mal de code à gérer, enfin ça dépend du nombre de plage.

La dernière fois j'ai utilisé une macro qui reprend mon premier script en l'utilisant 10 fois sur un nombre de ligne à définir.
Pour un grand nombre de ligne, le pc était à la traîne puisqu'à chaque fois il devait rafraîchir les cases à cocher quand je me baladais sur le document.

Donc c'est peut-être même moins lourd puisque c'est du texte. Surtout que je dois utiliser ma macro sur tablette après ^^

Pour conclure, c'est vraiment intéressant, et plutôt malin même mais faut que l'on s'occupe des limites techniques et voir si c'est encore intéressant en fonction de l'utilisation qui peut en être faite. ;)

2) Je connais pas trop la programmation sur Excel mais de ce que j'ai pu apercevoir les modules de classes peut être vraiment utiles surtout pour "simplifier" le script de Le Pingou : on pourrait calculer les valeurs plus facilement après.

Par exemple : on prend un paramètre pour la valeur de la cellule soit 1 soit 0; puis on joue avec le format de la cellule pour afficher les caractères que l'on veut, ex : si paramètre égal 1 alors afficher "þ". Et la cellule a toujours une valeur de 1 ou de 0 donc c'est tranquille pour le calcul ^^

3) Et effectivement, il faut que je modifie mon introduction : c'est vraiment plus rapide et efficace une fois installé mais pour juste quelques cases à cocher c'est pas moins rapide puisqu'il faut le temps de copier tout ça :)

@ Le Pingou :

J'espère que tu veux bien continuer ce projet et excuse moi si j'ai pu être te paraître désobligeant mais sache que ce n'était pas voulu :)
Messages postés
24054
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
6 769
Bonjour à tous,

Pour participer un peu... :-)

Pour ce qui est des 'moins' de la proposition à le pingou :
Par exemple tu ne peux pas te servir de la valeur de la cellule pour faire des calculs ou alors tu te les compliques.
Rien n'empêches de mettre 0/1 dans les cellules, et si on préfère par esthétisme voir le caractère case à cocher le faire par format personnalisé.
Par contre dans la solution 'case à cocher', si elles ne sont pas liées à des cellules comme actuellement je ne vois pas trop quels calculs on pourrait faire.

En effet tu es chaque fois obligé d'y associer du code VBA, ce qui n'est pas le cas avec mon script
On peut aussi nommer la plage concernée et la macro travaille dessus. En cas d'évol seule la plage du nom est à modifier/compléter.

De plus, avec ces fausses cases à cocher, il faut chaque fois adapter le script VBA pour avoir la bonne plage de cellule.
Pas bien vu la différence, même réponse qu'au dessus.

Rien d'insurmontable pour l'instant.

Pour la solution 'cases à cocher' je dirai que je me méfie des feuilles avec trop d'objets dessus. Excel ne gère pas toujours très bien et souvent on se retrouve avec un affichage tout pourri.
Donc ça aide si on est amené à en créer régulièrement. Mais au-delà de qq petites dizaines, perso je me méfierai et choisirai une autre solution pour ne pas risquer d'instabilités.

Donc comme toujours le choix dépend des conditions.
Et si tu as un fichier qui n'est pas figé et qui s'enrichi de lignes au fil du temps, il va falloir songer au bricolage ;-)

Petite remarque: il me semble que le If ne sert à rien.
eric

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Salut Eriiic,

Participe, mais participe donc.
Je te relirais au calme, là je t'ai lu en diagonale.

Je trouvais la solution de Le Pingou astucieuse et originale. Il me semble que l'adapter au cas précis de ce jour ne doit pas être compliqué. J'essaierai demain.

Ensuite, la solution la plus "voisine" de la solution manuelle reste le module de classe. Dans ce cas, l'utilisateur installe lui-même ses cases à cocher, avec des copié-collé s'il le veut...

Reste la solution de Vendreur Jack
Petite remarque: il me semble que le If ne sert à rien.
Perso j'aurais plutôt une grosse remarque sur le Dim range As Range...

A voir aussi le comportement de ces CheckBox avec des cellules fusionnées. Ca je ne sais pas, me battant becs et ongles pour que plus personne ne fusionne! (euh je parle d'excel là, vous fusionnez avec qui vous voulez quand vous voulez...)

Franck
Messages postés
13
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
7 octobre 2014

Salut Eriiic et Franck,


Il faudrait que j'essaye pour le If et sinon pour le Dim range As Range j'ai vu ça sur un site dans un exemple.

En fait, j'avais jamais codé en VBA jusqu'à samedi dernier : j'ai "appris" sur le tas en enregistrant des macros et en regardant des exemples ^^ Donc hésitez pas à me signaler mes (nombreuses) erreurs :D


@ Eriiic

Du coup j'ai déjà répondu en partie un plus haut ^^

T'as clairement raison de te méfier pour les feuille avec trop d'objet ça lague à partir d'un certain nombre.

Et sinon, quand je disais "En effet tu es chaque fois obligé d'y associer du code VBA, ce qui n'est pas le cas avec mon script " j'entendais par là qu'une fois la macro utilisée, il n'y a plus besoin de code actif, les cases à cocher créées ne sont liées à aucune macro. ;)


@Franck

Et si j'ose demander quel est le problème avec la fusion, c'est plutôt pratique je trouve : ça évite à mon script de créer des cases à cocher inutiles; et puis c'est plus simple pour la mise en forme du texte. ^^
Messages postés
13
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
7 octobre 2014

Désolé, j'avais pas vu vos messages : j'étais en train d'écrire ma réponse à pijaku ^^

Je regarde tout ça maintenant


EDIT :

Et oui, j'ai mis des smileys partout ^^ Mais là au moins, vous savez sur quel ton je le dis x)
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Bonjour,

Je regarde ça ce matin et reviens, tout à l'heure, avec un classeur exemple...
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Voici donc un classeur exemple ou j'ai exploité vos deux possibilités...

https://www.cjoint.com/c/DJbls3E9Zs6

Pour la méthode de Le Pingou, me reste à voir les "propriétés"...
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Classeur modifié suite à la remarque (en MP) d'Eriiic :
Et si on veut 0 ou 1 pour simplifier les formules après :
With Target    'cellule "liée"
  .Value = Abs(.Range("A1").Value - 1)
  .NumberFormat = """þ"";General;""o"";@"
  Application.EnableEvents = False
  .Range("A1").Offset(, 1).Select
  Application.EnableEvents = True
End With

J'ai mis cellule liée =target et .EnableEvents = False aussi...

https://www.cjoint.com/c/DJbmWSUbu4k

Donc : 1 macro par méthode

🎼 Cordialement,
Franck 🎶
Messages postés
9968
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 mai 2021
1 142
Bonjour pijaku,
J'ai fait un petit détour, bravo pour le complément c'est super. J'en profite pour un petit salut à eriiic.
A une prochaine.
Le Pingou
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Salut,

Merci à toi, mais...
Le mérite est à attribuer à Eric.
enfin, je prends quand même ;-)
A+
Franck
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Bonjour,

Pas de réponse de Vendreur Jack...
Abandon du suivi de ce sujet?
Bonjour pijaku,

J'ai été pas mal occupé et ça m'est sorti de la tête :/ Dsl

Du coup là j'ai pu jeter un coup d'oeil à ton classeur : les deux solutions sont très bien mises en scène. C'est beaucoup plus pratique même s'il faut toujours définir une plage : est-il possible de l'appliquer à tout le document, la police spéciale servant "d'activateur" ?

Sinon les deux solutions m'ont l'air désormais complètes : on pourrait en faire un tuto officiel ? :D

Et encore merci pour votre sollicitude.

Vendreur Jack
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Salut,

est-il possible de l'appliquer à tout le document, la police spéciale servant "d'activateur" ?
Oui, bien sur. Mais ce n'est pas le but du tutoriel que de répondre à tous les cas de figure. Il s'agit ici de créer une fiche pratique sur la création automatique de cases à cocher liées à des cellules.

Sinon, pour info, il suffit d'ajouter une apostrophe devant la première ligne de la macro :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'restriction de la plage
  '  If Target.Column > 10 Or Target.Row > 20 Then Exit Sub    'plage A1:J20
    If Target.Count = 1 Or Target.MergeCells Then
        If Target.Font.Name = "Wingdings" Then
            With Target    'cellule "liée"
                .Value = Abs(.Range("A1").Value - 1)
                .NumberFormat = """þ"";General;""o"";@"
                Application.EnableEvents = False
                .Range("A1").Offset(, 1).Select
                Application.EnableEvents = True
            End With
        End If
    End If
End Sub 
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
ps : si j'ai le temps, j'écrirais le texte de cette fiche dans la journée...
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
J'ai eu le temps, je mets ça en ligne et compte sur vous pour une relecture.
Pour toutes corrections, vous pouvez, au choix, utiliser ce sujet ou me MP...

Merci encore à tous.
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Messages postés
13
Date d'inscription
mardi 25 octobre 2011
Statut
Membre
Dernière intervention
7 octobre 2014

Salut,

J'ai pu voir le tuto : il est vraiment parfait ! :D

Juste une petite suggestion (pour la méthode de Le Pingou) :

On pourrait peut-être mettre dans "Note" ou en commentaire, directement dans le code, qu'il est possible de modifier la position (à gauche, au milieu, en bas ...) de la case à cocher dans la cellule avec cette méthode, et seulement avec celle-ci.

Sinon j'ai pu tester le classeur : quand tu fais une somme d'une plage où il y a des cellules avec des "fausses" cases à cocher, le résultat sera toujours "þ" tant qu'il y a une case cochée et au contraire si ce n'est pas le cas la valeur sera "o".

Il faudrait pouvoir compter le nombre de case à cocher active directement même si au pire il suffit de faire : =NB.SI(G3:G14;1) pour la plage G3:G14 par exemple.

Et MERCI ça fait vraiment plaisir :)
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Je vais ajouter la formule donnant la somme.

et Merci à toi!
Messages postés
24054
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
6 769
Bonjour à tous,

Impeccable ;-)

Suggestions partie 1 :
- préciser le type de checkbox utilisé : Formulaire
- ajouter la déprotection de la cellule liée. Si la feuille est protégée on a le message d'alerte, la coche est basculée mais pas la valeur liée = > déphasage.
- j'ai un doute sur le bien fondé de .NumberFormat = ";;;".
un débutant risque d'être perdu de ne pas voir le résultat dans la cellule liée, et ça complique le contrôle d'un décompte. Je le mettrai plutôt en 'option
Eventuellement mettre Remplissage sur automatique pour masquer au moins partiellement le résultat (?)
Mais bon... ça se discute :-)

partie 2 :
Pour la détection de la plage je mettrais bien qq chose comme :
If Intersect(Union([A2:A10], [D2:D10])) Is Nothing Then Exit Sub
pour montrer comment faire si plusieurs plages distinctes.

eric
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Salut Eriiic,

Modifications enregistrées :

- sauf pour : Eventuellement mettre Remplissage sur automatique pour masquer au moins partiellement le résultat (?)
Motif : le but n'est pas de lister toutes les possibilités et tous les cas de figure. Comme ça nous aurons plus de questions sur les forums ;-)

- Avec une toute petite nuance, ajout de Target dans ton Intersect.
If Intersect(Union([A2:A10], [D2:D10]), Target) Is Nothing Then Exit Sub
Messages postés
24054
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2021
6 769
Motif : le but n'est pas de lister toutes les possibilités et tous les cas de figure. Comme ça nous aurons plus de questions sur les forums ;-)
Disons que sans le format ;;; la superposition du VRAI et de la case à cocher transparente fait un peu caca, opaque ça passe un peu mieux... :-)

Avec une toute petite nuance...
C'était pour voir si tu le verrais ;-)

eric
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Disons que sans le format ;;; la superposition du VRAI et de la case à cocher transparente fait un peu caca, opaque ça passe un peu mieux... :-)
Effectivement. Mais bon comme j'ai dit plus haut : ça fera l'objet de questions sur les forums...

C'était pour voir si tu le verrais ;-)
Et bien figure toi que je ne l'ai vu qu'à la dernière minute... Je n'allais tout de même pas tester tes propositions Nanmého ! ;-))
Messages postés
9968
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
14 mai 2021
1 142
Bonjour pijaku,
Félicitation pour la publication : Création automatique de cases à cocher liées aux cellules en-dessous.
Excellente fin de semaine.
Amicales salutations.

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 609
Salut Le Pingou,
Tout le mérite, ou du moins le tiers, t'en revient.

Merci et à toi également, bonne fin de semaine.
A+