"ou" dans un SI et une date dans CONCATE

Résolu
Salut,

voilà, j'ai deux soucis :

Je commence par le plus important :

1. je dois faire un "ou" dans un SI, calcul :

SI le nb de palette est >1 ou alors ="'1/2"; "c'est vrai", soucis, je ne sais comment dire le "ou" en language excelien ! ^^ (pour moi sa donnerai comme sa dans le style :
=SI(E26>1(?!?)='1/2;PALETTE;PALETTES) (le "(?!?)" remplacerai donc le "ou")

2. Ensuite, est-il possible de mettre une date automatique (=AUJOURDUI()) dans un CONCATNER ?!?
sa me met que c'est "volatile" ya t'il moyen que la cellule comporte donc 2 formats (texte et date) ?!?

merci :)

23 réponses

Résumé de la discussion

Deux soucis remontent dans une discussion Excel : comment réaliser un OU dans une formule SI et comment insérer une date automatique dans CONCATENER, tout en gérant le formatage et la lisibilité. Des réponses suggèrent d'utiliser la fonction OU dans SI, notamment OU(E26>1; E26='1/2'), et de corriger le type de données lié à une liste déroulante pour éviter les caractères. D'autres indiquent des solutions avec CONCATENER attendue, beaucoup utilisent des variantes avec SI(OU(...)); et certains conseillent TEXT(AUJOURDHUI()) ou l'usage du format joint en jours/mois/année pour obtenir un résultat lisible. En cas de besoin, certains évoquent d'autres formules, notamment en intégrant des options de pluriel et des vérifications FR, afin d'adapter PALETTE ou PALETTES selon le chiffre et le contexte.

Bobot (l’IA à votre service)
  1. Contributeur
    bonjour à tous

    XL<2007
    pour la concaténation, essaies:
    ="date: "&TEXTE(AUJOURDHUI();"jj mmmm aa")
    1
    1. Contributeur
      Ah, je viens de comprendre pourquoi les exemples ne marchaient pas chez toi.
      Tu utilises une liste déroulante et donc les chiffres ne sont pas des chiffres mais des caractères...
      Du coup :
      ='Ordre d''éxpédition'!E26&" "&"PALETTE"&SI(OU('Ordre d''éxpédition'!E26="1";'Ordre d''éxpédition'!E26="1/2");"";SI('Ordre d''éxpédition'!C17="FR";"S";"N"))

      eric
      1
      1. Modérateur
        Bonjour,
        1- Ou n'est pas très compliqué à utiliser :
        =SI(OU(E26>1;E26=0,5);"PALETTE";"PALETTES")
        2- possible par macro, par formule je ne sais pas.
        Pour info, la macro est (si la texte à ajouter est en A1):
        ActiveCell = CDate(Date) & " " & [A1]
        0
        1. voilà le calcul avec le ou pour le 1er calcul, mahleureusement la marque du pluriel ne vient pas ?!?
          calcul :
          =CONCATENER('Ordre d''éxpédition'!E26;" ";SI('Ordre d''éxpédition'!C17="FR";SI(OU('Ordre d''éxpédition'!E26>1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTES");SI(OU('Ordre d''éxpédition'!E26>1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTEN")))

          Légende : E26 = nb de palette (1/2,1,2,3,4 etc...)
          C17 = langue du formulaire

          @michel_m : est il possible d'inserer un concatener dans ta formule, car ma cellule doit contenir :

          ex : Paris le, "aujourd'hui" ou den, si le formulaire doit figurer en allemend (ex : Paris den, "aujourd'hui")

          merci encore :)
          0
          1. Petite réctification

            le calcul est :
            =CONCATENER('Ordre d''éxpédition'!E26;" ";SI('Ordre d''éxpédition'!C17="FR";SI(OU('Ordre d''éxpédition'!E26=1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTES");SI(OU('Ordre d''éxpédition'!E26=1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTEN")))

            mais sa ne va tjr pas...encore une erreure ?!?

            merci :)
            0
        2. Modérateur
          Pourquoi CONCATENER?
          Tu peux le faire également comme ceci :
          =SI('Ordre d''éxpédition'!C17="FR";"Paris le, "&TEXTE(AUJOURDHUI();"jj mmmm aa");"Paris den, "&TEXTE(AUJOURDHUI();"jj mmmm aa"))
          0
          1. Oui Pijaku :) c'est sa :)

            heee....le concatener...je sais pas, en faite c'est une habitude, je le met dans tout mes formules et la moitité du temps il ne me sert à rien^^

            merci encore :)

            le point 1 ?!? erreure de formule ?!?
            0
            1. Modérateur
              je ne comprends pas ton :"le point 1 ?!? erreure de formule ?!?"
              0
              1. ah dsl^^

                je parlai de problème N° 1 le 2ème (la date) étant résolu, mon 1er point reste ouvert ... comme tu px le constater j'ai copier la formule, a vue d'oiel je ne voie par d'erreur...

                le soucis c'est que le SI me met toujours la version au singulier (PALETTE au lieu de PALETTES ou PALETTEN)

                revoici la formule :

                =CONCATENER('Ordre d''éxpédition'!E26;" ";SI('Ordre d''éxpédition'!C17="FR";SI(OU('Ordre d''éxpédition'!E26>1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTES");SI(OU('Ordre d''éxpédition'!E26>1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTEN")))

                merci :)
                0
                1. oupsss....la formule devrai plutot être celle-ci :)

                  =CONCATENER('Ordre d''éxpédition'!E26;" ";SI('Ordre d''éxpédition'!C17="FR";SI(OU('Ordre d''éxpédition'!E26=1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTES");SI(OU('Ordre d''éxpédition'!E26=1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTEN")))

                  donc si le nb de palette est égal à 1 ou à 1/2 c'est palette qui doit apparaitre si c'est faux, c'est palette* avce la marque du pluriel de la langue ;)

                  merci :)

                  (cette formule me donne le contraire de l'autre, tout est au pluriel mtn ?!?)
                  0
                  1. Modérateur
                    Essaye ceci :
                    =CONCATENER('Ordre d''éxpédition'!E26;" ";SI('Ordre d''éxpédition'!C17="FR";SI(OU('Ordre d''éxpédition'!E26=1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTES");SI(OU('Ordre d''éxpédition'!E26=1;'Ordre d''éxpédition'!E26="'1/2");"PALETTE";"PALETTEN")))
                    0
                    1. nan, dsl...ça va pas... =(

                      même en modifiant le >1 en =1 sa change juste que soit il reste bloqué sur singulier ou alors sur pluriel...aïe aïe aïe ! ^^

                      autre proposition ?!? :)

                      merci
                      0
                      1. Contributeur
                        Bonjour,

                        pour simplifier la lecture formule je suis resté sur la même feuille, tu ajouteras le nom concerné.
                        Pour palette seul tu peux faire beaucoup plus simple comme apparement c'est pareil au singulier. De plus tester le 1/2 ne sert à rien.
                        Il te reste à concatener avec le reste :
                        ="PALETTE"&SI(E26>1;SI(C17="FR";"S";"N");"")

                        eric
                        0
                        1. arf !

                          je ne sais pas ce qu'on à bien pu faire à ce calul, mais en tout cas c'est sûr, ils nous en veux !

                          j'ei retranscis la formule pour qu'elle soient en accord avec mon doc' mais elle ne joue toujours pas ...

                          le nouveau calcul ressemble à sa :

                          =CONCATENER('Ordre d''éxpédition'!E26;" ";"PALETTE"&SI('Ordre d''éxpédition'!E26>1;SI('Ordre d''éxpédition'!C17="FR";"S";"N");""))

                          (j'ai uniquement ajouté les feuilles)

                          j'éspere qu'une solution est possible^^

                          merci encore :)
                          0
                          1. Modérateur
                            Il y a un message d'erreur ou le résultat ne change pas?
                            Décrit nous un peu mieux le problème stp...
                            0
                            1. Tout fonctionne en faite, SAUF de mettre au singulier ou au pluriel,

                              le nb de palette et la marque du pluriel se met bien dans la langue (FR & DE) mais pas quand il le faut que la palette soit 1/2, 1 ou 46000 il sera toujours au pluriel...

                              vx que je te joigne le doc' ?!?

                              merci :)
                              0
                              1. Modérateur
                                joins le doc car ça fonctionne chez moi...
                                0
                            2. voilà, j'éspère que tu retrouvera ;)

                              (le calcul soit apparaitre dans la cellule C30 du recto ;))

                              merci
                              a++
                              0
                              1. http://www.cijoint.fr/cjlink.php?file=cj200907/cijxN0yBgA.xls

                                quel con...j'ai oublié de te mettre le fchier ! ^^
                                0
                                1. Contributeur
                                  si tu veux vraiment pouvoir écrire 1/2 au lieu de 0.5 (mais avec un espace devant pour qu'il ne se transforme pas en date), alors :
                                  ="PALETTE"&SI(ET(E26>1;E26<>" 1/2");SI(C17="FR";"S";"N");"")

                                  classeur1.xls
                                  eric
                                  0
                                  1. Modérateur
                                    Y a t'il (Eriic) un problème dans l'utilisation du signe ' dans un nom de feuille? en fait la feuille utilisée s'appelle Ordre d'éxpédition avec une apostrophe, qui est interprétée dans la formule :
                                    'Ordre d''éxpédition' comme ceci : 'Ordre d' 'éxpédition'. non je me trompe?
                                    Perso je renommerai cette feuille en : ordre_d_expédition.
                                    0
                                    1. J'essaye sa et je te redi ;)
                                      0
                                  2. dsl, mais ton doc' ne va pas non plus...je sais pas si sa va de ton côté ?!?

                                    mais pour affichier le 1/2 sans qu'il ne se transforme en date je emt une apostrophe avant et elle disparai après ('1/2 ==> 1/2)

                                    car dans ton doc' la cellule "nb de palette" à un format date ...normal ?!?

                                    ++ merci
                                    0
                                    • 1
                                    • 2