Fusionner des cellules avec une feuille protégé
Ferméccm81 Messages postés 10904 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 décembre 2024 - 1 mai 2023 à 19:04
- Fusionner et centrer excel grisé
- Si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Fusionner fichier excel - Guide
- Comment fusionner des pdf sans logiciel - Guide
21 réponses
29 avril 2023 à 10:45
> 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
25 avril 2023 à 18:38
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
25 avril 2023 à 19:34
ç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.
25 avril 2023 à 21:37
Bonjour,
Au passage, pouvez-vous expliquer comment vous faites pour appliquer 2 formules d'une même cellule !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question26 avril 2023 à 00:08
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.
26 avril 2023 à 14:18
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?
26 avril 2023 à 15:09
Bonjour,
Quelque chose dans se genre:
26 avril 2023 à 20:26
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.
26 avril 2023 à 21:18
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
26 avril 2023 à 21:00
Bonjour à tous
Peut être avec une macro
https://www.cjoint.com/c/MDAs7LUpJuB
Cdlmnt
27 avril 2023 à 22:09
Bonjour,
Oui c'est exactement ça!!!
Comment faut-il procéder svp ?
28 avril 2023 à 02:18
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.
28 avril 2023 à 07:38
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
28 avril 2023 à 15:55
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
28 avril 2023 à 16:23
RQ. A y être, on peut améliorer (un peu) la présentation https://www.cjoint.com/c/MDCowyHppJB
Cdlmnt
29 avril 2023 à 00:35
Bonsoir ou bonjour à tous et en particulier à M@rina.
Pourquoi
"La fusion est toujours une mauvaise idée."
?
29 avril 2023 à 19:09
Bonjour,
Comme convenu ci-dessous la document.
30 avril 2023 à 09:57
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
30 avril 2023 à 13:37
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.
30 avril 2023 à 13:51
A tester (j'ai conservé la formule en colonne F)
https://www.cjoint.com/c/MDElYqcszIB
Cdlmnt
30 avril 2023 à 16:56
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 ?
30 avril 2023 à 17:14
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
30 avril 2023 à 18:11
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é.
Modifié le 30 avril 2023 à 19:28
Je suis sous un (très) vieil excel 2003, la démarche a changé depuis .... donc je ne peux que te renvoyer
sur le site de microsoft https://support.microsoft.com/fr-fr/office/cr%C3%A9er-ou-ex%C3%A9cuter-une-macro-c6b99036-905c-49a6-818a-dfb98b7c3c9c
Cdlmnt
30 avril 2023 à 21:15
Bonjour,
Juste au passage (amical salut ccm81) pour activer l'onglet développeur:
Afficher l'onglet Développeur
- Sous l'onglet Fichier , accédez à Options > Personnaliser le ruban.
- Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.
Modifié le 1 mai 2023 à 17:12
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 ?
1 mai 2023 à 17:26
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
Modifié le 1 mai 2023 à 17:41
La ce sont mes autorisations
Modifié le 1 mai 2023 à 17:43
Quand j'ôte la protection, seul "Sélectionner les cellules déverrouillées" est sélectionné.
Du coup, je fois resélectionner à chaque fois.
1 mai 2023 à 19:00
Normal : C'est ainsi que ça fonctionne !