Quand un clic sur certaines cellules d’un classeur Excel fait surgir une « zone » qui masque la cellule et ouvre l’onglet Format de forme, c’est presque toujours un objet superposé. Voici une méthode éprouvée pour diagnostiquer, corriger et prévenir le problème.
Problème observé
Sur un classeur précis (mais pas sur les autres), un clic dans certaines cellules sélectionne une « chose » invisible — forme, zone de texte, commentaire hérité, contrôle de formulaire ou ActiveX — au lieu de la cellule elle‑même. La cellule semble « recouverte », l’onglet Format de forme apparaît dans le ruban et la suppression manuelle de cette zone n’est pas durable : elle réapparaît au prochain clic.
Pourquoi cela arrive‑t‑il ?
Excel possède un calque de dessin au‑dessus de la grille. Les formes, zones de texte, images, commentaires « hérités » (Notes), contrôles de formulaire/ActiveX et certains objets graphiques y résident. Si un objet est placé, volontairement ou non, sur une cellule, Excel sélectionne l’objet lorsque vous cliquez — d’où l’activation de l’onglet Format de forme. Si cet objet est devenu invisible (remplissage et contour « Aucun »), l’impression est celle d’une « boîte fantôme ». Des évènements VBA (Worksheet_SelectionChange
) peuvent aussi créer/afficher un objet lors d’un clic, donnant l’impression qu’il « revient » après suppression.
Solution rapide (testée et validée)
Cette procédure simple a résolu définitivement le cas décrit :
- Sauvegardez d’abord une copie du fichier (pour pouvoir revenir en arrière).
- Effacez les formats des cellules touchées : Accueil ▸ Effacer ▸ Effacer les formats. Testez. Si l’objet fantôme est encore là, poursuivez.
- Remplacez temporairement la forme : Insertion ▸ Formes ▸ Rectangle puis dessinez un rectangle exactement sur la ou les cellule(s) concernée(s). Clic droit sur le rectangle : Format de la forme ▸ Remplissage : Aucun et Ligne : Aucune (le rectangle devient invisible). Supprimez ensuite ce rectangle.
- Vérifiez en cliquant sur les cellules : l’onglet Format de forme ne doit plus apparaître et la cellule doit être sélectionnée normalement.
Pourquoi cela marche ? Ce « remplacement‑suppression » force Excel à réécrire la pile d’objets du calque de dessin et à « désancrer » un résidu d’objet superposé. C’est un remède efficace lorsque l’objet d’origine est corrompu ou dupliqué de façon invisible.
Méthode complète, pas à pas
1) Nettoyer ce qui peut l’être sans risque
- Effacer les formats (déjà fait ci‑dessus) : utile si des styles imposent un effet graphique aux objets.
- Masquer/afficher temporairement tous les objets pour reprendre la main : Fichier ▸ Options ▸ Avancé ▸ section Affichage des options de cette feuille ▸ Pour les objets, afficher : choisissez Rien (masquer), cliquez sur OK, puis revenez à Tous. Cette bascule réinitialise l’affichage des formes et peut faire disparaître un « fantôme » graphique.
2) Repérer et gérer les objets avec le Volet de sélection
Le Volet de sélection liste tous les objets d’une feuille ; on peut les renommer, masquer/afficher (icône « œil »), sélectionner ou supprimer.
- Ouvrez Accueil ▸ Rechercher et sélectionner ▸ Volet de sélection.
- Dans la liste, cliquez sur chaque élément proche de la zone problématique pour le surligner. Les noms typiques : Rectangle 12, Zone de texte 3, Commentaire, Image, Button 1, CheckBox1, etc.
- Masquez les objets suspects via l’icône dédiée, puis testez le clic dans la cellule. Quand le bon objet est identifié, supprimez‑le ou repositionnez‑le (clic droit ▸ Déplacer).
3) Sélectionner en masse les objets d’une zone
Si plusieurs cellules sont affectées :
- Sélectionnez une plage couvrant toutes les cellules problématiques.
- Appuyez sur F5 ▸ Cellules… ▸ cochez Objets ▸ OK. Excel sélectionne tous les objets chevauchant la plage.
- Supprimez (Suppr) ou, si vous devez conserver certains objets, coupez/collez‑les dans une feuille « Parking » temporaire pour les trier.
4) Vérifier les commentaires « hérités » (Notes) et les nouveaux commentaires
- Les Notes (anciens commentaires) sont des formes. S’ils sont configurés « toujours visibles », cliquer sur la cellule peut sélectionner la note. Révision ▸ Notes ▸ Supprimer (ou Masquer) si elles n’ont plus d’utilité.
- Les Commentaires modernes (fil de discussion) n’utilisent pas la même couche graphique ; ils ne déclenchent normalement pas Format de forme. Si un mélange des deux existe, convertissez ou supprimez les Notes inutiles.
5) Identifier les contrôles de formulaire et ActiveX
Un bouton, une case à cocher ou une liste déroulante superposés au mauvais endroit peuvent être invisibles (format « Aucun remplissage/Aucune ligne ») et interceptent les clics.
- Dans le Volet de sélection, les contrôles portent des noms du type Button 1, Drop Down 3, CheckBox1, OptionButton1 (Formulaire) ou CommandButton1 (ActiveX).
- Supprimez les contrôles orphelins. Si vous en avez besoin, rendez‑les visibles (remplissage/contour), alignez‑les proprement et verrouillez‑les (voir plus bas).
6) Traquer le code qui recrée l’objet
Si un objet revient tout seul après suppression, soupçonnez un macro‑évènement :
- Ouvrez l’éditeur VBA (Alt + F11) ▸ volet Projet ▸ double‑cliquez sur la feuille concernée. Recherchez un
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ouWorksheet_Activate
qui ajoute/affiche des formes. - Désactivez temporairement les macros (ouvrir le classeur avec les macros désactivées) et testez. Si le problème disparaît, corrigez le code ou supprimez‑le.
7) Suspect de corruption ? « Régénérer » le fichier
- Dupliquez chaque feuille via clic droit sur l’onglet ▸ Déplacer ou copier… ▸ (nouveau classeur) et cochez Créer une copie.
- Enregistrez le nouveau classeur sous
.xlsx
(sans macros) si possible. - Optionnel : utilisez l’Inspection de document (Fichier ▸ Informations ▸ Rechercher des problèmes ▸ Inspecter le document) pour supprimer commentaires/objets invisibles en masse si vous n’en avez pas besoin.
Diagnostic guidé (tableau rapide)
Symptôme | Indice technique | Piste d’action |
---|---|---|
L’onglet Format de forme s’ouvre au clic | Un objet est sélectionné plutôt que la cellule | Volet de sélection ; Go to Spécial ▸ Objets ; supprimer/déplacer l’objet |
La « boîte » revient après suppression | Évènement VBA ou corruption d’objet | Désactiver macros ; inspecter SelectionChange ; recréer le classeur |
Rien n’est visible mais le clic est intercepté | Forme « Aucun remplissage/Aucune ligne » | Volet de sélection ; remplir temporairement pour la repérer puis supprimer |
Uniquement sur quelques cellules d’une zone | Objets dimensionnés à la taille des cellules | F5 ▸ Cellules ▸ Objets ; supprimer en lot |
Uniquement sur une feuille donnée | Objets locaux à la feuille | Copier la feuille dans un nouveau classeur |
Sur un fichier partagé, d’autres utilisateurs repositionnent des objets | Droits insuffisants / absence de protection | Protéger la feuille sans « Modifier les objets » |
Prévenir les récidives (bonnes pratiques)
- Verrouiller les objets : sélectionnez la forme ▸ Format de la forme ▸ Taille et propriétés ▸ Propriétés : cochez Verrouillé. Puis Révision ▸ Protéger la feuille et laissez Modifier les objets décoché.
- Nommer et organiser les objets dans le Volet de sélection (ex. Note_Alerte_TVA) et regrouper ce qui appartient ensemble.
- Éviter les formes « invisibles » (Aucun remplissage/Aucune ligne). Si un objet doit être neutre, laissez un contour très clair et documentez sa présence.
- Limiter les ActiveX aux cas nécessaires : préférez les contrôles de formulaire plus robustes.
- Documenter et auditer les macros : si elles créent/affichent des formes, prévoyez un mécanisme de nettoyage quand la condition n’est plus vraie.
Cas particuliers à connaître
- Commentaires hérités (Notes) : ce sont des formes. Une migration vers les commentaires modernes ou une suppression des Notes obsolètes stabilise le classeur.
- Images et icônes : une image transparente peut intercepter les clics. Dans le Volet de sélection, recherchez Image n.
- Sparklines et mises en forme conditionnelles n’activent pas Format de forme et ne sont pas en cause ici.
Script VBA d’audit et de correction (optionnel)
Pour les fichiers complexes, un petit audit des formes par VBA est très utile. Le code suivant liste tous les objets qui chevauchent la sélection, avec leur cellule d’ancrage. Vous pourrez ensuite supprimer en connaissance de cause.
' <Résumé>
' 1) Sélectionnez la plage suspecte (ou laissez une seule cellule)
' 2) Exécutez ListerFormesSurSelection
' 3) Une feuille "Audit_Formes" est créée avec le détail des objets
' 4) Exécutez SupprimerFormesSurSelection pour supprimer en lot (optionnel)
Option Explicit
Public Sub ListerFormesSurSelection()
Dim sh As Shape, rng As Range, ws As Worksheet, out As Worksheet
Dim rowOut As Long, chevauche As Boolean
```
If TypeName(Selection) <> "Range" Then
MsgBox "Sélectionnez d'abord une plage de cellules.", vbExclamation
Exit Sub
End If
Set rng = Selection
Set ws = rng.Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Audit_Formes").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Set out = Worksheets.Add(After:=ws)
out.Name = "Audit_Formes"
With out
.Range("A1:F1").Value = Array("Nom", "Type", "TopLeftCell", "BottomRightCell", "Visible", "Feuille")
.Rows(1).Font.Bold = True
End With
rowOut = 2
For Each sh In ws.Shapes
chevauche = Not (Intersect(sh.TopLeftCell, rng) Is Nothing And Intersect(sh.BottomRightCell, rng) Is Nothing)
If chevauche Then
out.Cells(rowOut, 1).Value = sh.Name
out.Cells(rowOut, 2).Value = TypeName(sh)
out.Cells(rowOut, 3).Value = sh.TopLeftCell.Address(False, False)
out.Cells(rowOut, 4).Value = sh.BottomRightCell.Address(False, False)
out.Cells(rowOut, 5).Value = sh.Visible
out.Cells(rowOut, 6).Value = ws.Name
rowOut = rowOut + 1
End If
Next sh
If rowOut = 2 Then
MsgBox "Aucun objet ne chevauche la sélection.", vbInformation
Else
out.Columns.AutoFit
MsgBox "Audit terminé. Consultez la feuille 'Audit_Formes'.", vbInformation
End If
```
End Sub
Public Sub SupprimerFormesSurSelection()
Dim sh As Shape, rng As Range, ws As Worksheet
Dim n As Long, chevauche As Boolean
```
If TypeName(Selection) <> "Range" Then
MsgBox "Sélectionnez d'abord une plage de cellules.", vbExclamation
Exit Sub
End If
Set rng = Selection
Set ws = rng.Worksheet
For Each sh In ws.Shapes
chevauche = Not (Intersect(sh.TopLeftCell, rng) Is Nothing And Intersect(sh.BottomRightCell, rng) Is Nothing)
If chevauche Then n = n + 1
Next sh
If n = 0 Then
MsgBox "Aucun objet à supprimer sur la sélection.", vbInformation
Exit Sub
End If
If MsgBox("Supprimer " & n & " objet(s) sur la sélection ?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
Application.ScreenUpdating = False
For Each sh In ws.Shapes
chevauche = Not (Intersect(sh.TopLeftCell, rng) Is Nothing And Intersect(sh.BottomRightCell, rng) Is Nothing)
If chevauche Then sh.Delete
Next sh
Application.ScreenUpdating = True
MsgBox n & " objet(s) supprimé(s).", vbInformation
```
End Sub
Conseils d’usage : exécutez d’abord ListerFormesSurSelection pour vérifier que rien d’important n’est pris dans le filet. Ne lancez SupprimerFormesSurSelection que sur une copie du fichier, et uniquement si les objets listés sont indésirables.
Sécuriser la feuille après nettoyage
- Sélectionnez chaque objet légitime (boutons, zones de texte) ▸ Format de la forme ▸ Taille et propriétés ▸ Verrouillé.
- Allez dans Révision ▸ Protéger la feuille : laissez cochées Sélectionner les cellules verrouillées/déverrouillées, décochez Modifier les objets, définissez un mot de passe si nécessaire.
- Enregistrez et testez : les objets ne doivent plus se déplacer, et les clics sur les cellules ne doivent plus être interceptés.
FAQ
La « boîte » ne se voit pas. Comment la rendre visible pour la supprimer ?
Dans le Volet de sélection, cliquez sur chaque objet proche puis, dans Format de la forme, appliquez temporairement un remplissage clair et un contour fin. Vous la localisez, puis vous la supprimez.
Est‑ce lié à la validation de données ou aux info‑bulles ?
Non. Les messages de validation n’activent pas l’onglet Format de forme. Si le ruban bascule sur cet onglet, c’est qu’un objet du calque de dessin est sélectionné.
Comment empêcher les collègues de recréer le problème ?
Après nettoyage, protégez la feuille en interdisant Modifier les objets. Fournissez des modèles sans objets invisibles et nommez clairement les formes nécessaires.
Windows/Mac : les chemins sont‑ils différents ?
Les libellés peuvent varier légèrement, mais les outils à utiliser restent identiques : Volet de sélection, Effacer les formats, Protéger la feuille, Inspection de document.
Résumé opérationnel
- Identifier l’objet (Volet de sélection, F5 ▸ Objets).
- Nettoyer : Effacer les formats, puis la technique « remplacer par un rectangle invisible puis supprimer ».
- Éliminer les causes systémiques : supprimer Notes/contrôles indésirables, corriger les macros SelectionChange.
- Assainir le fichier (copie des feuilles dans un nouveau classeur si nécessaire).
- Prévenir : verrouiller les objets légitimes et protéger la feuille sans « Modifier les objets ».
Exemple de procédure complète en une minute
- Dupliquez le classeur.
- Sélectionnez la zone problématique ▸ F5 ▸ Cellules… ▸ Objets ▸ Suppr.
- Affichez le Volet de sélection et supprimez tout objet résiduel proche.
- Dessinez un rectangle exactement sur la cellule, mettez Aucun remplissage/Aucune ligne, puis supprimez‑le.
- Testez. Si l’objet revient : ouvrez sans macros, cherchez un SelectionChange et désactivez‑le. Sinon, copiez la feuille dans un nouveau classeur.
- Verrouillez les objets utiles et Protégez la feuille (sans « Modifier les objets »).
Ce qu’il faut retenir
Lorsqu’Excel affiche l’onglet Format de forme au clic sur une cellule, c’est qu’un objet « couvre » la cellule. Traitez la cause : repérez‑le avec le Volet de sélection, supprimez ou remplacez l’objet corrompu (la technique du rectangle est redoutablement efficace), éliminez toute macro qui le ressuscite et terminez par une protection de feuille bien réglée. Une fois nettoyé, le classeur redevient stable : le clic sélectionne la cellule, pas une boîte fantôme.