none
activer un sablier suite au click bouton et le faire disparaitre dès que les données s'affichent RRS feed

  • Question

  • bonjour à tous,

    je cherche à afficher un sablier (hourglass) à la place du curseur standard dès que je lance une recherche via le bouton rechercher, et je voudrais que le curseur reprend son apparence normal dès que les données s'affichent sur le grid

    Merci d'avance pour vos suggestions
    jeudi 13 décembre 2012 12:32

Réponses

  • Bonjour,

    je suis étonné que le navigateur ne le fasse pas tout seul.

    Est-ce que tu utilise des update panel ?

    Tu peux utiliser les évenements Javascript suivants :

            var manager = Sys.WebForms.PageRequestManager.getInstance();
            manager.add_beginRequest(OnBeginRequest);
            manager.add_endRequest(OnEndRequest);

    Tu codes les méthodes OnBeginRequest et OnEndRequest pour gérer l'affichage de ton sablier, voire l'affichage d'un DIV d'attente.

    Voici le code JS "à l'ancienne" pour mettre un sablier sur le pointeur de la souris :

    function cursor_wait() {
    document.body.style.cursor = 'wait';
    }
    
    function cursor_clear() {
    document.body.style.cursor = 'default';
    }
    Cordialement.


    • Modifié Hervé DORIER vendredi 14 décembre 2012 05:52 Complément
    • Proposé comme réponse Hervé DORIER vendredi 14 décembre 2012 05:52
    • Marqué comme réponse Aurel Bera mardi 18 décembre 2012 11:32
    • Non marqué comme réponse scania113 jeudi 4 avril 2013 18:29
    • Non proposé comme réponse scania113 jeudi 4 avril 2013 18:29
    • Proposé comme réponse Hervé DORIER samedi 6 avril 2013 06:59
    • Marqué comme réponse Aurel Bera lundi 8 avril 2013 10:36
    jeudi 13 décembre 2012 20:32
  • Il faut que tu vérifie que le code ajoutant les gestionnaires d'événement fonctionne correctement. Est-ce que tu as mis des "alert" dans ton code comme je te l'ai suggéré ? Lorsque tu as des problèmes de JavaScript, il faut utiliser IE pour déboguer car tu peux mettre des points d'arrêt sur du code JS dans Visual Studio.

    Il est fort probable que tu ais une erreur genre "Sys est indéfini". En effet, tu fais appel à Sys dans le HEAD de la page. Or, le ScriptManager se situe dans le BODY... en définitive, tu appel le ScriptManager alors qu'il n'est pas encore initialisé.

    Essaye de déplacer le code 

     var manager = Sys.WebForms.PageRequestManager.getInstance();
          manager.add_beginRequest(cursor_wait);
          manager.add_endRequest(cursor_clear);
    dans 
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    Tu pourras aussi essayer de mettre ce code dans une méthode JS pageLoad() qui ne sera alors exécutée qu'a la fin du chargement de la page.

    Dans tous les cas, il faudra bien vérifier que tu n'empile pas les gestionnaires d'événements.

    NB : J'ai testé sur la base de tes indications... ça fonctionne.


    Merci de tagger "Proposer comme réponse" et/ou "Utile" si un post répond à votre demande.



    • Proposé comme réponse Hervé DORIER samedi 6 avril 2013 06:59
    • Modifié Hervé DORIER samedi 6 avril 2013 07:04 Téléchargement du proto
    • Marqué comme réponse scania113 lundi 8 avril 2013 10:34
    samedi 6 avril 2013 06:58
  • Le plus probable Button1 c'est un contrôle ASP.NET.
    Donc son ID se change pendant la génération de la page. Vous devez l’utiliser

    document.getElementById("<% = Button1.ClientID %>").disabled = true;

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    • Marqué comme réponse scania113 lundi 8 avril 2013 12:03
    lundi 8 avril 2013 11:37

Toutes les réponses

  • Le Cursor est lié aux contrôles.

    En Windows Forms "classiques" Form1.Cursors = ....(c'est une énumération)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    jeudi 13 décembre 2012 13:48
  • Merci pour votre réponse,

    Mais je dois signaler que je travail sur asp.net et c#

    cordialement

    jeudi 13 décembre 2012 14:59
  • Bonjour,

    je suis étonné que le navigateur ne le fasse pas tout seul.

    Est-ce que tu utilise des update panel ?

    Tu peux utiliser les évenements Javascript suivants :

            var manager = Sys.WebForms.PageRequestManager.getInstance();
            manager.add_beginRequest(OnBeginRequest);
            manager.add_endRequest(OnEndRequest);

    Tu codes les méthodes OnBeginRequest et OnEndRequest pour gérer l'affichage de ton sablier, voire l'affichage d'un DIV d'attente.

    Voici le code JS "à l'ancienne" pour mettre un sablier sur le pointeur de la souris :

    function cursor_wait() {
    document.body.style.cursor = 'wait';
    }
    
    function cursor_clear() {
    document.body.style.cursor = 'default';
    }
    Cordialement.


    • Modifié Hervé DORIER vendredi 14 décembre 2012 05:52 Complément
    • Proposé comme réponse Hervé DORIER vendredi 14 décembre 2012 05:52
    • Marqué comme réponse Aurel Bera mardi 18 décembre 2012 11:32
    • Non marqué comme réponse scania113 jeudi 4 avril 2013 18:29
    • Non proposé comme réponse scania113 jeudi 4 avril 2013 18:29
    • Proposé comme réponse Hervé DORIER samedi 6 avril 2013 06:59
    • Marqué comme réponse Aurel Bera lundi 8 avril 2013 10:36
    jeudi 13 décembre 2012 20:32
  • Bonjour,

    Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,

    Aurel


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 17 décembre 2012 15:10
  • Bonjour,

    Pouvons-nous considérer que vous avez résolu votre problème avec les scénarios proposés ? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ?

    Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !

    Cordialement,

    Aurel


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    mardi 18 décembre 2012 11:32
  • Bonsoir

    je reviens vers vous car je cherche toujours un moyen pour afficher un sablier de recherche à la place du curseur de la souris lors des recherches.

    j'ai vu la réponse de 'Hervé Dorier' et j'avoue que je ne sais pas exactement ou est ce que je vais mettre le code qu'il a proposé...

    cordialement

    jeudi 4 avril 2013 18:36
  • j'ai déja testé le deuxième code, mais ça n'a rien donné car le sablier s'affiche et ne disparait plus meme si les résultats s'affichent.

    pour le premier code, Hevré dit qu'il faut que je code OnBeginRequest et OnEndRequest, et là je ne sais pas comment faire

    vendredi 5 avril 2013 10:53
  • Vous pouvez l'utiliser comme ça:

        var manager = Sys.WebForms.PageRequestManager.getInstance();
            manager
    .add_beginRequest(cursor_wait);
            manager
    .add_endRequest(cursor_clear);

    aussi forcez sur <form onload="cursor_clear"..........

     Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    • Modifié Aurel Bera vendredi 5 avril 2013 11:19 Modif
    vendredi 5 avril 2013 11:14
  • Salut.

    La réponse d'Aurel me paraît bonne.

    Ce code javascript est à mettre de préférence dans le head de la page.

    Il faut vérifier que tes événements  add_beginRequest et add_endRequest sont bien pris en compte : pour cela,  mets des 'alert' pour bien voir.

    Vérifie aussi que la syntaxe document.body.style.cursor = 'default';  correspond bien au navigateur utilisé. Quel est-il ? 

    Est-ce que tu utilise des updatepanel ?

    Merci d'avoir supprimé la marque "marquer comme réponse" :-/.

    Cordialement.


    Merci de tagger "Proposer comme réponse" et/ou "Utile" si un post répond à votre demande.


    vendredi 5 avril 2013 11:37
  • bonjour

    j'ai essayé d'appliquer ce que vous m'avez indiqué et je dois dire qu'il n'ya pas de changement, pour l'updatepanel je l'ai uniquement dans la master page.

    voici ce que j'ai fait sur ma page :

    <%@ Page Title="" Language="C#" MasterPageFile="~/PageMaster.master" AutoEventWireup="true" CodeFile="Rechercher.aspx.cs" Inherits="Rechercher" %>
    
    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
        <script type="text/javascript" src="../Scripts/jquery-1.9.1.js"></script>
      <script type="text/javascript" src="../Scripts/jquery-ui.js"></script>
      <script type="text/javascript" src="../Scripts/accordion_script.js"></script>
      <script type="text/javascript">
    
          var manager = Sys.WebForms.PageRequestManager.getInstance();
          manager.add_beginRequest(cursor_wait);
          manager.add_endRequest(cursor_clear);
    
          function cursor_wait() {
    
            document.body.style.cursor = "wait";
          }
    
          function cursor_clear() {
    
            document.body.style.cursor="default";
          }
    
       </script>
        
    </asp:Content>
    
    
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    
        <div class="page_rech">
    <div class="critere_rech">
    <div class="row_rech_accbtn">
    <div class="zone_lbl_rech">
    <label>Information Programme</label>
    </div>
    </div>
    <div class="row_rech_content">
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Programme</label>
    </div>
    <div class="zone_txt_rech">
    <asp:ComboBox class="combo_asp" ID="cmb_program" runat="server" 
            AutoCompleteMode="Suggest" AutoPostBack="True" CausesValidation="True" 
    oniteminserted="cmb_program_ItemInserted" 
            onselectedindexchanged="cmb_program_SelectedIndexChanged" 
            DropDownStyle="DropDownList">
    </asp:ComboBox>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Nature</label>
    </div>
    <div class="zone_txt_rech">
    <asp:ComboBox class="combo_asp" ID="cmb_nature" runat="server" AutoCompleteMode="Suggest" AutoPostBack="True" DropDownStyle="Simple">
    </asp:ComboBox>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech_statut">
    <label>Statut</label>
    </div>
    <div class="zone_txt_rech_statut">
    <asp:CheckBox ID="chk_libre" runat="server" ForeColor="Blue" Text="Libre" ValidationGroup="statut_grp_chk" Checked="True" />
    <asp:CheckBox ID="chk_reserve" runat="server" ForeColor="Blue" Text="Réservé" ValidationGroup="statut_grp_chk" Checked="True" />
    <asp:CheckBox ID="chk_concrétisé" runat="server" ForeColor="Blue" Text="Concrétisé" ValidationGroup="statut_grp_chk" Checked="True" />
    <asp:CheckBox ID="chk_vendu" runat="server" ForeColor="Blue" Text="Vendu" ValidationGroup="statut_grp_chk" Checked="True" />
    </div>
    </div>
    </div>
    <div class="row_rech_accbtn">
    <div class="zone_lbl_rech">
    <label>Information Client</label>
    </div>
    </div>
    <div class="row_rech_content">
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>CIN</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="txt_cin" runat="server"></asp:TextBox>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Nom</label>
    </div>
    <div class="zone_txt_rech">
     <asp:TextBox ID="txt_nom" runat="server" Width="299px" Height="21px" style="margin-left: 0px"></asp:TextBox>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Téléphone</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="txt_telephone" runat="server"></asp:TextBox>
    </div>
    </div>
    </div>
    
    <div class="row_rech_accbtn">
    <div class="zone_lbl_rech">
    <label>Information Réservation</label>
    </div>
    </div>
    <div class="row_rech_content">
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Choix de Date</label>
    </div>
    <div class="zone_txt_rech">
    <asp:DropDownList class="combo_asp" ID="choix_date" runat="server">
      <asp:ListItem>Réservation</asp:ListItem>
      <asp:ListItem>Concrétisation</asp:ListItem>
      <asp:ListItem>Vente</asp:ListItem>
    </asp:DropDownList>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Date de Début</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="Txt_Date_debut" runat="server"></asp:TextBox>
    <asp:CalendarExtender ID="Txt_Date_debut_CalendarExtender" runat="server" Enabled="True" Format="dd/MM/yyyy" PopupButtonID="Dt_debut" 
    TargetControlID="Txt_Date_debut">
    </asp:CalendarExtender>
    <asp:ImageButton ID="Dt_debut" runat="server" ImageUrl="~/Image/calendar_icon.gif" />
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Txt_Date_debut" 
    ErrorMessage="Entrer une date valide" ValidationExpression="^(0[1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](19|20)\d\d$" 
    Display="Dynamic"></asp:RegularExpressionValidator>
    </div>
    <div class="zone_lbl_rech">
    <label>Date de Fin</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="Txt_Date_fin" runat="server"></asp:TextBox>
    <asp:CalendarExtender ID="Txt_Date_fin_CalendarExtender" runat="server" Enabled="True" Format="dd/MM/yyyy" PopupButtonID="Dt_fin" 
    TargetControlID="Txt_Date_fin">
    </asp:CalendarExtender>
    <asp:ImageButton ID="Dt_fin" runat="server" ImageUrl="~/Image/calendar_icon.gif" />
    <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="Txt_Date_fin" ErrorMessage="Entrer une date valide" 
    ValidationExpression="^(0[1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](19|20)\d\d$" Display="Dynamic">
    </asp:RegularExpressionValidator>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="Txt_Date_debut" ControlToValidate="Txt_Date_fin" 
    ErrorMessage="Date de fin ne peut etre avant la date de début" Operator="GreaterThanEqual" Type="Date"></asp:CompareValidator>
    </div>
    </div>
    <div class="row_rech">
    
    <div class="zone_lbl_rech">
    <label>Prix de Vente Min</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="txt_prix_min" runat="server"></asp:TextBox>
    </div>
    <div class="zone_lbl_rech">
    <label>Prix de Vente Max</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="txt_prix_max" runat="server"></asp:TextBox>
    </div>
    
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>Vendeur</label>
    </div>
    <div class="zone_txt_rech">
    <asp:ComboBox class="combo_asp" ID="cmb_vendeur" runat="server" AutoCompleteMode="Suggest" AutoPostBack="True" DropDownStyle="Simple">
    </asp:ComboBox>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>N° de Reçu</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="txt_recu" runat="server"></asp:TextBox>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_lbl_rech">
    <label>N° de Chèque</label>
    </div>
    <div class="zone_txt_rech">
    <asp:TextBox ID="txt_ref" runat="server"></asp:TextBox>
    </div>
    </div>
    </div>
    <div class="row_rech">
    <div class="zone_btn_rech">
     <asp:Button class="btn_rech" ID="Button1" runat="server" onclick="Button1_Click" Text="Rechercher" />
    </div>
    </div>
    </div>
    <div class="resultat_rech">
    <asp:GridView ID="Grid_result" runat="server" AllowPaging="True" 
                AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" 
                GridLines="None" 
                onpageindexchanging="Grid_result_PageIndexChanging" 
                 Width="646px" AllowSorting="True" EnableSortingAndPagingCallbacks="True" 
                onsorting="Grid_result_Sorting" ondatabinding="Grid_result_DataBinding">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <Columns>
                    <asp:HyperLinkField DataNavigateUrlFields="lib_prod" SortExpression="lib_prod"
                        DataNavigateUrlFormatString="~/pages/Reservation_Lite.aspx?lib_prod={0}" 
                        DataTextField="lib_prod" HeaderText="Produit" >
                    <HeaderStyle HorizontalAlign="Left" />
                    <ItemStyle Width="160px" />
                    </asp:HyperLinkField>
                    <asp:BoundField DataField="cin_cl" HeaderText="CIN" >
                    <HeaderStyle HorizontalAlign="Left" />
                    <ItemStyle Width="100px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="Nom_complet" HeaderText="Nom" >
                    <HeaderStyle HorizontalAlign="Left" />
                    <ItemStyle Width="300px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="mont_ttc" HeaderText="Prix" >
                    <HeaderStyle HorizontalAlign="Left" />
                    <ItemStyle Width="100px" />
                    </asp:BoundField>
                </Columns>
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#CC9900" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#FFCC00" Font-Bold="True" ForeColor="White" 
                    BorderStyle="Solid" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <SortedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>
    </div>
    </div>
    
        
       
    </asp:Content>
    
    

    vendredi 5 avril 2013 17:07
  • Il faut que tu vérifie que le code ajoutant les gestionnaires d'événement fonctionne correctement. Est-ce que tu as mis des "alert" dans ton code comme je te l'ai suggéré ? Lorsque tu as des problèmes de JavaScript, il faut utiliser IE pour déboguer car tu peux mettre des points d'arrêt sur du code JS dans Visual Studio.

    Il est fort probable que tu ais une erreur genre "Sys est indéfini". En effet, tu fais appel à Sys dans le HEAD de la page. Or, le ScriptManager se situe dans le BODY... en définitive, tu appel le ScriptManager alors qu'il n'est pas encore initialisé.

    Essaye de déplacer le code 

     var manager = Sys.WebForms.PageRequestManager.getInstance();
          manager.add_beginRequest(cursor_wait);
          manager.add_endRequest(cursor_clear);
    dans 
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    Tu pourras aussi essayer de mettre ce code dans une méthode JS pageLoad() qui ne sera alors exécutée qu'a la fin du chargement de la page.

    Dans tous les cas, il faudra bien vérifier que tu n'empile pas les gestionnaires d'événements.

    NB : J'ai testé sur la base de tes indications... ça fonctionne.


    Merci de tagger "Proposer comme réponse" et/ou "Utile" si un post répond à votre demande.



    • Proposé comme réponse Hervé DORIER samedi 6 avril 2013 06:59
    • Modifié Hervé DORIER samedi 6 avril 2013 07:04 Téléchargement du proto
    • Marqué comme réponse scania113 lundi 8 avril 2013 10:34
    samedi 6 avril 2013 06:58
  • bonjour les amis,

    oui ça marche !!!

    Mais une fois la recherche est lancée, je parviens toujours à cliquer sur le bouton, car dès que le curseur rentre dans le périmètre du bouton il devient normal du coup je peux cliquer dessus plusieurs fois....

    or ce que je veux c'est que dès que je lance la recheche, il faut plus avoir la possibilité de recliquer sur le bouton jusqu'a ce que le résultat s'affiche.

    Merci d'avance pour votre aide.

    lundi 8 avril 2013 10:41
  • Vous devez désactiver le bouton:

    document.getElementById("btnPlaceOrder").disabled = true;

    et l'activer après finir la recherché:

    document.getElementById("btnPlaceOrder").disabled = false;

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 8 avril 2013 10:44
  • bonjour,

    j'ai introduit les deux lignes que tu m'as proposé de la manière suivante :

     function cursor_wait() {
    
              document.body.style.cursor = "wait";
              document.getElementById("Button1").disabled = true; 
          }
    
          function cursor_clear() {
    
              document.body.style.cursor = "default";
              document.getElementById("Button1").disabled = false; 
              }

    mais ça n'a rien changé.

    lundi 8 avril 2013 11:26
  • Le plus probable Button1 c'est un contrôle ASP.NET.
    Donc son ID se change pendant la génération de la page. Vous devez l’utiliser

    document.getElementById("<% = Button1.ClientID %>").disabled = true;

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    • Marqué comme réponse scania113 lundi 8 avril 2013 12:03
    lundi 8 avril 2013 11:37
  • ça marche mainetanant !!

    Merci beaucoup pour votre aide !!

    cordialement

    lundi 8 avril 2013 12:13