Cherche formule sur excel

Bonjour,

Je cherche une formule permettant d'enlever les frais de port sur mon bon de commande si les frais de port dépasse 19.86 €

Je vous donne mon fichier excel pour que vous voyez le mieux le probleme

http://www.archive-host.com

J'ai essayer des formule du genre =SI(F..>19,86;0;19.86) mais je pense pas que ça soit la bonne...

Merci de votre aide

24 réponses

Résumé de la discussion

Le problème est de trouver une formule Excel qui annule les frais de port lorsque le montant total des frais dépasse 19,86 € dans le bon de commande. Plusieurs répondants proposent une approche basée sur une valeur fixe via SI, et d'autres utilisent une logique plus dynamique avec RECHERCHEV (VLOOKUP) et des plages nommées. En pratique, la solution recommandée consiste à combiner une recherche par destination avec des tarifs par article, puis d'ajouter une condition pour que les frais passent à zéro lorsque le seuil est atteint. D'autres éléments utiles suggèrent d'ajouter une liste déroulante pour le pays et d'utiliser une plage nommée associée à la destination afin de maintenir facilement le calcul des frais selon le lieu.

Bobot (l’IA à votre service)
  1. Re,

    Merci beaucoup pour ce lien, j'ai trouver le code qu'il faut pour windows live hotmail mais je ne m'y connais pas du tout et je ne sais pas trop comment le placer et comment faire pour le mettre en place.

    Merci de votre réponse

    Private Sub cmdCopier_Click()
    If txtFeuilChoisi.Text <> "" Then
    Call CopierFeuilleExcel(getTemp & "test.xls")

    Else
    MsgBox ("Veuillez choisir la feuille a copier")
    End If
    If ((getTemp & "test.xls") = ActiveWorkbook.FullName) Then
    cmdCopier.Enabled = False
    cmdEnvoyer.Enabled = True
    Else
    cmdCopier.Enabled = True
    End If
    End Sub

    'Private classeurDeBase As Excel.Workbook
    Private Sub cmdEnvoyer_Click()
    ActiveWorkbook.SendMail Recipients:="diopbirama@gmail.com", _
    Subject:="Test envoi classeur", _
    ReturnReceipt:=True
    ' URLto = "mailto:diopbirama@gmail.com" & "?subject=test d'envoi de fichier" & "&body=" & Msg
    ' ActiveWorkbook.FollowHyperlink Address:=URLto
    End Sub

    Private Sub cmdExit_Click()
    Unload Me
    End Sub

    Private Sub combFeuilleSource_Change()
    txtFeuilChoisi.Text = combFeuilleSource.Text
    End Sub

    'c'est ici que je récupere la liste des feuilles
    'du classeur actif (Activeworkbooks)
    Private Sub UserForm_Activate()
    Dim feuil As Object
    For Each feuil In ActiveWorkbook.Sheets
    combFeuilleSource.AddItem (feuil.Name)
    Next feuil
    'classeurDeBase = ActiveWorkbook
    If ((getTemp & "test.xls") = ActiveWorkbook.FullName) Then
    cmdCopier.Enabled = False
    cmdEnvoyer.Enabled = True
    Else
    cmdCopier.Enabled = True
    End If

    End Sub

    'cette procedure permet de copier la feuille choisie
    'vers le classeur cible du dossier Temp
    Private Sub CopierFeuilleExcel(ClasseurCible As String)
    Sheets(txtFeuilChoisi.Text).Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs (ClasseurCible)
    Application.DisplayAlerts = True
    End Sub

    'cette fonction permet de récuper le répertoire
    'temporaire de windows
    Function getTemp() As String
    Dim chemin As Object
    Dim DossierTemp As String
    Set chemin = CreateObject("Scripting.FileSystemObject")
    DossierTemp = chemin.GetSpecialFolder(TemporaryFolder).ShortPath
    getTemp = DossierTemp & "\Temp\"
    End Function
    0
    1. Bonjour,
      Merci de votre information.
      Je n'ai pas la possibilité de tester un code en relation avec [Windows Live Hotmail].
      Le lien ci après devrait vous apportez la solution :
      https://codes-sources.commentcamarche.net/
      Désolé de ne pouvoir en faire plus.
      0
      1. Bonjour mike,

        En fait le client remplis le bon de commande et l'envois. Ensuite moi je le reçoit je vérifie la commande et lui envois ensuite la facture avec le lien de paiement. Tout simplement.

        Le clic ne marche pas, J'ai mis l'adresse nm-sportswear@live.fr à l'emplacement que tu m'as dis, j'enregistre, j'ouvre le fichier je remplis comme le client et quand je clic sur envoi bond e commande, il y a rien qui se passe.

        j'aimerais rajouter une petite option, quand le client envois le bon de commande j'aimerais qu'il reçoive aussi un exemplaire sur son adresse mail, si c'est possible.

        Merci de ta réponse
        0
        1. Bonjour,
          Juste au passage, vous ne voyez rien à l'écran c'est normal, mais avez-vous contrôler si le message est dans votre messagerie ... ?
          Je l'ai testé et c'est parfait (bonsoir Mike-31 et bon rétablissement).
          Salutations
          Le Pingou.
          0
        2. Bonsoir Le Pingou,

          merci pour ton souhait.

          Le problème que rencontre djkony est qu'il travaille avec Hotmail et j'ai du mal à stabiliser un code. j'ai un code pour Outlook qui fonctionne trés bien dont je me sert très souvent, j'ai adapté ce petit bout de code passe partout pensant qu'il lancerait une de ces messagerie mais !!!
          Je pense dans son cas que le plus simple serait de dupliquer sa feuille en collage spécial valeur de sorte que les intermédiaires ne puissent pas le modifier, éventuellement la protéger, puis l'envoyer et détruire cette copie pour ne pas envahir le disque de copies
          mais cela n'engage que moi.

          Cordialement
          0
        3. Bonjour,
          Est-ce qu'il s'agit de Windows Live Hotmail ...?
          Il serait souhaitable que djkony19 précise le programme de courrier électronique utilisé par son navigateur Internet.
          Salutations
          Le Pingou.
          0
        4. Re,
          exusez moi, oui c'est bien Windows live Hotmail

          Merci pour votre aide
          0
      2. Re,

        Récupère ton fichier, fais un clic droit sur l'onglet de feuille
        Commande avec TVA
        Clic sur Visualiser le code, dans la feuille tu verras un bout de code VBA et tu remarqueras cette ligne. entre les guillemets remplace les xxx par une adresse mail
        Dest = "xxx.xxxxxx@xxxx.xx"

        ensuite reviens sur la feuille, soit en sélectionnant le fichier dans la barre des tâches, soit en cliquant sur l'icône Excel sur la barre des menus en haut à droite.
        Enregistre le fichier et teste l'envoi en un clic sur le bouton.

        Tiens moi au courant.
        Explique moi ton fonctionnement, si je comprends bien un client achète ou commande de la marchandise, tu fais un bon, jusque là pas de problème mais après ce bon est imprimé pour être archivé, puis envoyé au siège pour information !

        https://www.cjoint.com/?0bCvaij6Bzm
        0
        1. Re,

          T'embête pas mike, c'est parfait comme ça ;)

          Je vais me débrouiller avec ce que j'ai là ça ira trés bien.

          Je voulais savoir si tu connaissais un Tutorial pour le VBA car je persiste avec mon code du bouton envoyer. Ou si tu pense pouvoir m'expliquer en quelque mot ça serait super !

          Merci
          0
          1. Re,

            Je ne t'oublie pas, la grippe ne me donne pas envie de réfléchir je te prépare un petit code rapidement

            A+
            Mike-31
            0
          2. Re,

            Pas de soucis ;) rétablis toi bien !
            0
        2. Re,

          Effectivement si dans chaque catégorie tu as des sous catégories comme pour Nike ça complique les choses, c'est possible mais avec du VBA et là c'est une autre histoire il faut avoir bien connaitre Excel et avoir quelques connaissances en VBA ce que je doute.

          je vais réfléchir voir si je peux t'adapter un code simple sinon reste sur le fichier joint sur lequel j'ai allongé les listes de saisie jusqu'à la ligne 500 ce qui offre pas mal de possibilités. A ce sujet pour permettre un ordre croissant de la liste déroulante Feuille Commande avec TVA colonne A j'ai placé un filtre sur la feuille Listing.
          Sur cette feuille pour saisir des données il est nécessaire de déprotéger la feuille, une fois les saisies terminées tu remarqueras sur la ligne 2 des boutons avec une flèche vers le bas, clic sur celui en A2 et sélectionne Tri croissant, les colonnes A, B, C, et D seront automatiquement classé chronologiquement. Ne pas oublier de reprotéger la feuille et éventuellement avec mot de passe ou la masquer afin d'éviter qu'une personne mette le chiisme.

          https://www.cjoint.com/?0byvm5np5cP
          0
          1. Bonsoir Mike-31,
            Juste au passage, pour la liste de saisie, il serait possible d'utiliser cette formule dans Fait référence à : =DECALER(Listing!$A$2:$D$2;;;NBVAL(Listing!$A:$A))
            Et ainsi il y aura toujours la bonne grandeur prise en compte.
            Amicales salutations.
            Le Pingou
            0
        3. Re,

          j'ai pas trés bien compris, Si par exemple je veux rajouter une paire de chaussure je fais cette manipulation, cela me donne un menu déroulant mais aprés quand je veux selectionner la taille ça ne veut rien m'afficher donc je sais pas si j'ai fais la bonne manip.

          Je nomme la plage (chaussure 2), ensuite validation des données, liste / Source : Chaussure 2 ?

          Et ensuite je touche à rien dans source de la case taille non ?
          Merci
          0
          1. Dans la liste colonne A feuille Listing tu saisis Chaussure_2 sans espace ou Chaussure2

            tu crées une liste de pointure ou tu copies les valeurs de la plage de pointure dadns une colonne et tu la nommes Chaussure_2 il est impératif de respecter l'intitulé (majuscule, minuscule, tiret etc ...)

            sur la feuille Commande avec TVA tu n'as rien à faire
            0
          2. Donc cela veux dire que pour chaque paire de chaussure que je veux mettre il faut que je fasse une colonne ?

            Je pense quil vaut mieux choisir manuellement la taille comme ce fichier :
            https://www.cjoint.com/?0bxqmGHDqza

            Et pour la description Tu sais comment on fait pour que si le client tape l'article dans description, il à des choix qui s'affiche en dessous. Pas ex : il tape Chaussure Nike .. et en dessous il y a tout les articles qui correspondent à ce qu'il a marqué (chaussure Nike Air force, Chaussure Nike Air max ....)

            Puis aprés ça va etre bon ;) sinon ça devient compliquer pour moi. La c'est vraiment bien déja.

            Et il faut que tu m'explique un pour le bouton envoyer.

            Merci
            0
        4. Re,

          Pour ajouter des lignes dans la feuille Listing, il faut commencer par la déprotéger (Onglet Révision/Oter la protection de la feuille)
          pour la sécurité des données la reprotéger après (Onglet Révision/Protéger)

          ensuite pour créer une liste déroulante, saisir les données en colonne (mettre en surbrillance la plage concernée/saisir le nom dans la barre d'adresse, zone juste au dessus de l'entête de colonne A et confirmer avec la toche Entrée)
          Une fois la plage nommée, activer la cellule ou l'on souhaite avoir la liste de validation (onglet Données/validation des données dans Autoriser sélectionner Liste et dans Source =Nom de la plage nommée)

          C'est un peu plus compliqué pour activer la liste par rapport à une saisie, il faut nommer la plage en fonction d'un l'affichage exemple pour Chaussure, j'ai nommé la plage Chaussure et dans la colonne taille lorsque j'ai créé la liste de validation, dans source j'ai saisie =INDIRECT(A29) de sorte que si en A29 je sélectionne Chaussure c'est la plage nommée Chaussure qui s'affichera pour sélectionner la taille dans le cas ou en A je sélectionnerai Casquette, c'est la liste nommée Casquette qui s'affichera
          -
          A+
          Mike-31

          Une période d'échec est un moment rêvé pour semer les graines du savoir.
          0
          1. Re,

            Ce code utilise Outlook, mais traitons un problème à la fois, regarde si les tailles avec liste déroulante te conviennent

            https://www.cjoint.com/?0bxqlDwSEfs

            Ou si tu préfères l'ancien avec saisie des tailles manuellement

            https://www.cjoint.com/?0bxqmGHDqza
            0
            1. Re,

              J'aime bien avec la liste déroulante par contre je n'arrive pas à ajouter d'autres lignes, Je ne sais pas comment associer une plage à la couleur. J'ai essayer de copier "chaussure" et la renommer en chaussure 2 et je n'arrive pas à mettre une taille.

              Merci
              0
          2. Re,

            J'ai trouver ce code pour le bouton envoyer :

            Sub envoyer(Message As String, Nom_Du_Fichier As String, Adresse As String)
            Dim o As Outlook.Application
            Set o = New Outlook.Application
            Dim Mail As Outlook.MailItem
            Set Mail = o.CreateItem(olMailItem)
            With Mail
            .Subject = "Subjet"
            .To = Adresse
            .HTMLBody = Message
            .Attachments.Add Nom_Du_Fichier
            '.Send
            .Display
            End With
            o.ActiveWindow

            Set Mail = Nothing
            Set o = Nothing
            End Sub

            Le probleme c'est qu'une fois avoir mis le code dans macros je ne sais pas du tout ce qui faut faire, puis ce code est valide pour outlook et pas pour hotmail, comment je fait pour qu'il soit valide sur hotmail?
            0
            1. Re,

              Merci pour toutes ces explications.
              Je préfère celle-ci, c'est très propre ! j'aime beaucoup.

              Par contre j'ai juste un petit probleme pour les taille

              Par exemple si je prend une paire de chaussure la personne ne peut pas changer, il faudrait juste pouvoir choisir la taille.
              ex: pour des chaussure : 40, 41,42,43..;
              Pour des vêtement : M, L, XL,XXL...

              Je pense qu'il faudrait faire des catégories : Vêtement, chaussure, accessoire...

              Vêtement (couleur jaune): L,M,XL...
              Chaussure (Couleur verte): 40,41,42
              accessoires (couleur bleu) : 2,4,5

              Ou je peut laisser choisir le client en laissant la case non protéger, ça sera plus simple peut être ;)

              Sinon rien a dire, le fichier est impecable

              Merci encore
              0
              1. Re,

                On peut l'automatiser, dans quelle catégorie as tu besoin de taille apparemment pour les chaussures de quelle taille à quelle taille ex 27 à 45
                je pense que lorsque tu vends des chaussures, dans Désignation en A tu saisis Chaussures
                les vétements donnes moi toutes les tailles ainsi que pour les autres catégories.

                ensuite je verrai ce qu'il est possible de faire simplement
                0
              2. Re,

                Alors pour les chaussure : de 35 à 50 (sachant qu'il y a des demi pointure, 35,5 36,5 ...)
                Pour les vêtements : XS, S, M, L, XL, XXL, XXXL
                Equipement ballons : 3, 4, 5, 6, 7
                Equipement casquette: 6 7/8, 7, 7 1/2, 7 1/4, 7 1/8, 7 3/4, 7 3/8, 7 5/8, 7 7/8, 8

                Merci
                0
            2. Re,

              Maintenant que je connais un peu mieux ton fichier, regarde cette proposition sur deux feuilles, dont la feuille listing peut être protégée ou masquée. Toutes les explications sont dans des zones te texte. Si tu préféres la première version je donnerai la marche à suivre pour modifier les tarifs

              https://www.cjoint.com/?0bwoDe6okA6
              0
              1. Re,

                C'est bon mike ;) la formule fonctionne.

                maintenant il faut juste que tu m'explique comment changer les tarifs des frais de port au cas où je dois les changés ou modifier la disposition . Parce que la je n'arrive pas à afficher ou masquer les colonnes.

                Puis pour le bouton envoyer j'utilise hotmail et j'aimerais l'envoyer sur nm-sportswear@live.fr (sur mon adresse en fait et non sur l'adresse du client). Je vais me renseigner un peu sur le vba.

                Encore merci pour ce fichier
                0
                1. Re,

                  Je suis un peu bousculé, je n'ai pas eu le temps de tester la formule, regarde si elle te convient.

                  Pour envoyer un mail depuis un bouton c'est tout à fait possible mais la il faut avoir un minimum de connaissance en VBA, savoir quelle messagerie tu utilise Oulook, Outlook express, autre ...

                  le message que tu veux mettre ex. Veuillez trouver en pièce jointe votre facture etc ...

                  https://www.cjoint.com/?0bwlksxmgxs
                  0
                  1. Re,

                    Je serai absent pour l'après midi, je regarde la formule ce soir.

                    Insérer des bouton est tout à fait possible mais que veux tu faire avec un bouton envoyé
                    0
                    1. En fait j'aimerais directement envoyer le bon de commande sur mon adresse mail. C'est plus simple comme ca, les gens se casseront pas la tete.

                      J'ai regarder un peu, mais je ne trouve pas la fonction macro...

                      je vais continuer les recherches en attendant peut être que je vais trouver ;-)
                      0
                  2. RE,

                    Tu crois que c'est possible d'insérer un bouton "envoyer" sur une feuille excel ?

                    ah et j'ai oublier un petit détail mais si tu peux pas le changer c'est pas bien grave.

                    Si tu peux enlever les frais de port gratuit pour l'international, en fait ça sera frais de port gratuit juste pour la france à partir de 5 articles.

                    Pour l'international ça sera payant même au dessus de 5 articles parce que sinon je suis perdant sur certains pays.

                    Si c'est pas possible laisse, c'est pas grave. Pour l'instant c'est juste le bouton "envoyer" qui serait bien pratique.

                    Merci
                    0
                    1. Re,

                      Bon c'est nikel, c'es ce que je voulais.

                      Par contre tu as fais comment pour bloquer et masquer les formules ?

                      J'ai fais ce que tu m'a dis et ça ne fonctionne pas

                      Comment je fais pour changer les valeurs pour les frais de port ?
                      0
                      1. Re,

                        Je te prépare un topo pour t'expliquer tout cela, en attendant teste ton fichier dans tous les sens pour voir s'il y a quelque chose à retoucher
                        0
                      2. oui c'est ce que je fais depuis 10 min

                        Mais rien à dire c'est parfait ;)

                        Encore merci pour ton aide !
                        0
                    2. Re,

                      Oui j'y arrive en fait c'est pas compliquer
                      Bon je te dis si c'est ok
                      Merci mike.
                      0
                      1. Re,

                        J'ai revu la formule et protégé la feuille pour éviter l'effacement accidentel des formules
                        Teste le fichier et on en reparle, arrives tu à afficher et masquer les colonnes

                        https://www.cjoint.com/?0bukHtcpOj5

                        A+
                        Mike-31

                        Une période d'échec est un moment rêvé pour semer les graines du savoir.
                        0
                        1. Re,

                          Les frais se calculent dès que tu saisis le pays de destination en D24,

                          si en D24 aucune saisie, il n'y a pas de frais ce qui correspond à un enlèvement sur place.

                          Si en D24 tu sélectionnes un pays les frais correspondants s'affichent jusqu'à concurrence de 5 références dans la colonne C et les frais passent en gratuit dès la 6éme référence.

                          Dès que les formules seront au point, on reverra le fichier et te donnerais les explications pour modifier les tarifs.

                          Sais tu Masquer et afficher les colonnes !
                          0
                          1. Bonjour mike,

                            Bon ca marche pas mal, je trouve ca vraiment bien comme syteme.
                            Par contre je sais pas comment changer les valeurs parceque les frais de port sont pas bon. Pour la france quand je met 1 article ca me compte 10,89 ou lieu de 7,9 et pour 2 article ca me met 21 € de frais. SI je met 4 article sur la même ligne ca me met toujours 10,89 alors que ca devrait mettre 16,.. €

                            Et Je ne sais pas ce qu'est masquer ou afficher les colonnes

                            Merci pour ta réponse ;)
                            0
                          2. Re,

                            C'est normal, j'ai calculé les frais en fonction de ton post que tu retrouveras plus haut dans la discussion

                            "Pour djkony19 - 17 jan 2011 à 15:12
                            Désolé c'est un peu confus je me suis tromper. Tu avais bien compris.
                            En France : 7.9 + 2.99 par article ca c les frais de port (ou frais de poste c'est pareil)
                            Pour alegerie par exemple: 25.75+ 3.99 par article. "

                            ce qui fait bien 10,89 et pour 2 références 21,78.

                            Pour la deuxième question, je revois le calcul, j'avais compris que la gratuité se faisait audessus de 5 articles différents donc sur 5 références saisies colonne C alors que si je comprends bien c'est au dessus de 5 articles identiques ou différents.

                            Avec Windows7, tu dois travailler avec Excel 2007 ou 2010, alors entraine toi à afficher et masquer des colonnes sinon je devrais revoir mon fichier.

                            Pour masquer 1 colonne exemple la D clic droit sur l'entête de la colonne D, elle va se mettre en surbrillance, et clic sur masquer, elle va se cacher pour la faire réapparaitre fais un clic gauche glissé (un clic glissé, tu clic gauche et sans lacher le clic tu glisse vers la droite ou la gauche) sur l'entête de la colonne précédente jusqu'à la colonne suivante soit C et E qui vont se mettre en surbrillance, clic droit sur la sélection et clic sur Afficher.

                            Pour masquer plusieurs colonnes exemple 2 colonnes la D et E c'est pareil clic gauche glissé sur les entêtes D et E clic droit sur la surbrillance et Masquer et pour les afficher clic gauche glisse sur C jusqu'à F clic droit Afficher
                            0
                          3. ah ok désolé !

                            En fait pour la france c'est : 7,9 € pour le premier article et 2,99 pour chaque article ajouté
                            et pour l'étranger c'est pareil (pour algerie : 25 75 € pour le 1er et pour chaque article en plus c'est 3,99 €

                            ca sert a quoi de masquer ou d'afficher les colonnes ?

                            si je dois modifier les valeurs pas la suite des frais de port je fais comment ?
                            0
                          4. Re,

                            Les tarifs sont dans des cellules que j'ai masqué pour éviter de les modifier par erreur et donc pour modifier les traifs il faut les afficher et ensuite les remasquer.
                            on utilise souvent cette technique pour sécuriser des formules.

                            regarde ta feuille j'ai masqué les colonnes entre I et O
                            Si tu n'y arrive pas il faudra envisager de créer une feuille supplémentaire dans le classeur ou définir la plage d'impression.
                            0
                        • 1
                        • 2