Fusionner des cellules avec une feuille protégé

Bonjour,

Quand je protège ma feuille pour rendre invisible mes formule, je clique sur "format de cellule" pour pouvoir toujours modifier mon fichier, le problème c'est que l'objet "fusionner et centrer" se grise. Même en sélectionnant toutes les cases dans la fenêtre protéger, je ne peux plus du tout rien fusionner.

Pouvez-vous m'aider svp


Windows / Chrome 112.0.0.0

21 réponses

Résumé de la discussion

Le problème central est que, lors de la protection d'une feuille Excel pour masquer les formules, l'option Fusionner et centrer devient grisée et empêche toute fusion des cellules. Plusieurs réponses soulignent que la fusion est incompatible lorsque des cellules restent verrouillées ou que des zones fusionnées perturbent des formules, des recopie par tirage, ou l’utilisation des macros. Des propositions pratiques évoquent soit de déverrouiller et déprotéger temporairement pour fusionner, soit d’utiliser du code VBA pour fusionner/défusionner sans perdre les autorisations, soit de réorganiser les cellules pour éviter les merges. En complément, certaines astuces mentionnent qu’en défusionnant, des valeurs ou formules peuvent être réappliquées et que, lorsque l’on réactive la protection, il faut reconfigurer les autorisations pour éviter une réinitialisation.

Bobot (l’IA à votre service)
  1. > Licorne rose

    une plage fusionnée

    1. peut perturber une formule utilisant une cellule de cette plage

    2. peut perturber une recopie par tirage

    3. incompatible avec un tri

    4. galère avec les macros

    5. ....

    Cdlmnt

    1
    1. Modérateur

      Bonjour,

      La fusion est toujours une mauvaise idée.

      Si le but est juste de centrer un titre sur plusieurs colonnes, sélectionnez les cellules dans lesquelles le titre sera centré, puis dans la boîte de dialogue Format, alignement, choisissez pour Alignement du texte horizontal : "Centré sur plusieurs colonnes".

      m@rina


      0
      1. ça ne fonctionne pas.

        En réalité il s'agit de fiche de conformité, je suis obligé d'appliquer 2 formules d'une même cellule, une qui prend en compte si A2 est vide et une qui prend en compte si A2 est remplit.

        Mais je dois quand même protéger ma feuille des formule et bien d'autre car beaucoup de vol dans mon domaine.

        0
        1. Bonjour,

          Au passage, pouvez-vous expliquer comment vous faites pour appliquer 2 formules d'une même cellule !


          0
          1. Tout à fait,

            En gros si admettons je veux calculer une surface rectangulaire, je fais A1 x A2 en m² alors A3 le résultat. Mais si la surface est circulaire alors je dis que si A2="" alors j'utilise la formule  (Pi x A1²)/4, alors A3 le résultat.

            Sauf que l'esthétique n'est pas super d'avoir des chiffres a gauche pour le circulaire et des chiffres centré sur 2 cellule pour le rectangulaire.

            0
            1. Bonjour,

              Merci du retour.

              Donc en A3 vous avez une formule conditionnelle !

              Qu'elle est cette formule et que vient faire la fusion de cellules!

              Pouvez-vous mettre un exemple sur Accueil de Cjoint.com   et poster le lien?


              0
              1. Bonjour,

                Quelque chose dans se genre:


                0
                1. Oui exactement, sauf que je souhaiterai fusionner A1 et  A2 quand la feuille est protégée pour ne pas avoir une cellule vide toute seule.

                  Mais quand elle est protégée, je peux toujours modifier les mises en formes mais pas fusionner. 

                  0
                  1. Bonjour,

                    Si vous fusionnez A1 et A2  vous ne pourrez introduire qu'une valeur ...! Donc plus possible de réaliser vos calculs.


                    Salutations.
                    Le Pingou

                    0
                2. Contributeur

                  Bonjour rikano.


                  Et si, comme te l'a recommandé Le Pingou, tu nous envoyais un fichier Excel ?


                  En attendant, tu dois saisir les dimensions du rectangle en A1 et A2, mais le diamètre en A3 ; pas en A1 !

                  Ta formule en A4 sera alors =SI(OU(A1=0;A2=0);PI()*A3^2/4;A1*A2)
                  ou encore plus simplement =SI(A1*A2=0;PI()*A3^2/4;A1*A2)

                  Plus besoin de fusionner quoi que ce soit ...

                  Et en quoi cela dérange "pour ne pas avoir une cellule vide toute seule " ?
                  Il y a des millions de tableaux Excel avec des cellules vides ! Ne te casse pas la tête pour ça.


                  0
                  1. Bonjour Raymond,

                    C'est en réalité une fiche d'autocontrôle, qui est destiné a validé et qualifier un fonctionnement d'une installation dans l'ingénierie de la clim.

                    Autrement dit cette fiche doit être visuellement esthétique, c'est une image de marque.

                    Voilà pourquoi je ne peux laisser des cellules vides.

                    C'est donc pour cette raison que je ne peux la partager en la diffusant ouvertement.

                    Et puis je suis très curieux de savoir comment faire pour commencer à me lancer dans les macros

                    0
                3. Bonjour

                  Pour integrer la macro à ton classeur

                  1. Al-F11 pour accéder à l'éditeur vba

                  2. Coller tout le code contenu dans mon Module 1

                  3. Enregistrer le classeur avec le type .xlsm (... prenant en compte les macros)

                  Cdlmnt

                  0
                4. Bonsoir ou bonjour à tous et en particulier à M@rina.

                  Pourquoi

                  "La fusion est toujours une mauvaise idée."

                  ?

                  0
                  1. Il y a ces formules en colonne F, lorsque D14:F14 n'est pas fusionnée, tu les veux ? Cette formule ne figure pas en ligne 12 où tu as mis la valeur 100

                    =SI(D14= "";"";SI(D14="NA";"NA";SI(D14="SO";"SO";SI(D14=0;"";""))))

                    Cdlmnt

                    0
                    1. Effectivement elle ne figure pas car les cellules sont fusionnées.

                      Mais c'est vrai quand y repensant elle ne servent à rien car si la valeur est SO ou NA alors il faudra fusionner manuellement DEF, pour ne pas l'avoir en double.

                      0
                  2. A tester (j'ai conservé la formule en colonne F)

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

                    Cdlmnt

                    0
                    1. Oui c'est exactement ça!!!

                      Du coup j'exporte "feuil1" et "thisworkbook" que j'importe dans mon "Microsoft Excel objet" et je dois en plus en plus affecter un raccourci clavier à la macro, c'est bon comme ça ?

                      0
                  3. 1. Rien à mettre dans le module du workbook

                    2. tu te places dans la feuille à traiter

                    3. Alt-F11 pour accéder à l'éditeur vba

                    3. Coller tout le code.

                    Option Explicit
                    
                    Const mdp = "mdp"
                    Const cosel = 4
                    
                    ' formule colonne D
                    '=SI(D15="";"";SI(D15="NA";"NA";SI(D15="SO";"SO";SI(D15=0;"";""))))
                    
                    Public Sub fusionner()
                    Dim plage As Range, co As Long
                    If Selection.Count > 1 Then Exit Sub
                    co = Selection.Column
                    If co <> cosel Then Exit Sub
                    ActiveSheet.Unprotect mdp
                    Application.DisplayAlerts = False
                    Set plage = Selection.Resize(1, 3)
                    plage.ClearContents
                    plage.Cells(1, 1).Locked = False
                    plage.MergeCells = True
                    ActiveSheet.Protect mdp
                    Application.DisplayAlerts = True
                    End Sub
                    
                    Public Sub defusionner()
                    Dim plage As Range, adr As String, f As String, co As Long
                    Set plage = Selection
                    co = Selection.Column
                    If co <> cosel Then Exit Sub
                    ActiveSheet.Unprotect mdp
                    adr = plage.Cells(1, 1).Address
                    adr = Replace(adr, "$", "", 1, -1)
                    f = "=SI(" & adr & "= """";"""";SI(" & adr & "=""NA"";""NA"";SI(" & adr & "=""SO"";""SO"";SI(" & adr & "=0;"""";""""))))"
                    plage.MergeCells = False
                    Set plage = plage.Resize(1, 3)
                    plage.Cells(1, 1).Value = ""
                    plage.Cells(1, 1).Locked = False
                    plage.Cells(1, 2).Value = "x"
                    plage.Cells(1, 3).FormulaLocal = f
                    plage.Cells(1, 3).Locked = False
                    plage.Cells(1, 3).FormulaHidden = True
                    plage.Cells(1, 1).Select
                    ActiveSheet.Protect mdp
                    End Sub
                    

                    4. modifier éventuellement les constantes mdp et cosel

                    5. affecter un raccourci clavier aux deux procedures

                    6. Enregistrer sous/ type ... .xlsm

                    Cdlmnt

                    0
                    1. C'est bon c'est copier.

                      Mais je n'arrive pas à trouver l’onglet Développeur dans le groupe Code pour affecter un raccourci clavier désolé.

                      0
                  4. Bonjour,

                    Juste au passage  (amical salut ccm81) pour activer l'onglet développeur:

                    Afficher l'onglet Développeur

                    1. Sous l'onglet Fichier , accédez à Options > Personnaliser le ruban.
                    2. Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.

                    0
                    1. Bonjour,

                      C'est bon ça fonctionne, merci beaucoup :D

                      Par contre je remarque que quand je défusionnes, la cellule de la colonne E reprend un x et se verrouille, la colonne F reprend sa formule et se verrouille également.

                      Peut-on empêcher ça ?

                      Pour finir, lorsque j'utilise la fusion, si j'ôte la protection, je perds les autorisations que j'avais sélectionné au départ.

                      Peut-on faire aussi quelques chose pour ça ?

                      0
                      1. Bonjour

                        1. > Le Pingou : merci pour le coup de main, avec mon antiquité, ce n'est pas toujours commode ;-)

                        2. Par contre je remarque que quand je défusionne ...

                        Public Sub defusionner()
                        Dim plage As Range, adr As String, f As String, co As Long
                        Set plage = Selection
                        co = Selection.Column
                        If co <> cosel Then Exit Sub
                        ActiveSheet.Unprotect mdp
                        adr = plage.Cells(1, 1).Address
                        adr = Replace(adr, "$", "", 1, -1)
                        f = "=SI(" & adr & "= """";"""";SI(" & adr & "=""NA"";""NA"";SI(" & adr & "=""SO"";""SO"";SI(" & adr & "=0;"""";""""))))"
                        plage.MergeCells = False
                        Set plage = plage.Resize(1, 3)
                        plage.Locked = False
                        plage.Cells(1, 1).Value = ""
                        plage.Cells(1, 2).Value = "x"
                        plage.Cells(1, 3).FormulaLocal = f
                        plage.Cells(1, 3).FormulaHidden = True
                        plage.Cells(1, 1).Select
                        ActiveSheet.Protect mdp
                        End Sub

                        3. je perds les autorisations que j'avais sélectionné au départ.  > lesquelles ?

                        Cdlmnt

                        0
                        1.  La ce sont mes autorisations

                          0
                        2. @rikano

                          Quand j'ôte la protection, seul "Sélectionner les cellules déverrouillées" est sélectionné.

                          Du coup, je fois resélectionner à chaque fois.

                          0
                        3. Contributeur
                          @rikano

                          Normal : C'est ainsi que ça fonctionne !

                          0
                      • 1
                      • 2