Pour qu'un résultat égal à 0 soit vraiment une cellule vide

Résolu
BerlioZ -  
BerlioZZ Messages postés 3 Statut Membre -
Bonjour,

Comme dit dans le titre, je veux une cellule vraiment vide; désactiver l'affichage des 0 ou "" ne me suffit pas pas. c'est une question de mise en forme, je ne veux pas que ma cellule "résultat" cache le texte de la cellule précédente si elle est égale à 0 , possible?

Merci d'avance

10 réponses

  1. Zoul67 Messages postés 2001 Statut Membre 149
     
    Bonjour,

    On peut aussi passer par du VBA en supprimant les formules (en B) qui empêche le texte (en A) de déborder... et éviter ainsi de toucher aux largeurs de colonnes.

    A+
    1
    1. BerlioZ
       
      Il me semble que cela marcherait mais alors je ne suis absolument pas compétent pour faire ça. La solution peut être un peu trop complexe pour un si petit problème...
      0
    2. Zoul67 Messages postés 2001 Statut Membre 149
       
      Comme tu utilises le document souvent, ça pourrait te faire gagner du temps :

      Sub efface()
      For Each c In Selection
          If c.Value = "" Then
              c.FormulaR1C1 = ""
          End If
      Next c
      End Sub
      0
    3. BerlioZ
       
      Tu m'explique comment faire ça? J'ai trouvé la console (alt + F11) puis affichage code ok ensuite je colle ton txte, comment je fais après pour l'amener sur les cellules de destination?

      Merci en tout cas
      0
    4. Zoul67 Messages postés 2001 Statut Membre 149
       
      Tu sélectionnes toute la plage (ex. de A1 à T20) où tu peux rencontrer le problème, tu fais Alt+F8 et exécutes la macro "efface" (dans l'exemple il fera 400 fois la vérification de la valeur et supprimera les formules donnant un résultant vide).
      0
    5. BerlioZ
       
      il ne s'est rien passé :(
      0
  2. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    Tu peux en dire plus, tes explications ne sont pas très claire

    qui a t il dans ta cellule, certainement une formule qui renvoie 0 ou ""

    mais à partir de ce résultat que veux tu faire

    0
  3. BerlioZ
     
    Bonjour, et merci :)

    Je suis sur excel 2003

    Voilà plus précisément mon problème:

    Sur la colonne A, j'ai des titres que je veux retrouver dans toutes mes feuilles
    Sur les colonnes B, C, D... j'ai des nombres, des textes... un peu de tout.

    Ma colonne A est très fine pour des questions de mise en page, et le renvoi à la ligne automatique est désactivé. donc les titres dépassent très largement de leur cellule, cela fonctionne bien sur la première feuille.

    Sur les lignes des titres seule la colonne A est remplie les autres sont vides.

    Feuilles suivantes; j'ai une formule de type =feuil1!A1 ou =si(feuil1!A1<>0;feuil1!A1;"") sur ma première ligne pour les colonnes A, B, C, et D

    puis je fais une copie incrémentée.

    les résultats des colonnes B,C et D cachent les titres de la colonne A que je vois réapparaitre si je supprime la formule manuellement sur chaque case des lignes titres.
    0
  4. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    en fait si je comprends bien, tu veux que les cellules par exemple de la colonne B reste vide si le texte de la colonne A est plus grand que la cellule et donc éviter de voir le texte colonne A déborder dans la colonne B
    c'est bien cela
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. BerlioZ
     
    Non,

    Je veux au contraire que le texte de la colonne A continue à déborder sur la colonne B sur les feuilles suivantes,
    0
  7. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    je ne comprends pas, colonne A si le texte est plus grand que la cellule et que la cellule à sa droite est vide il déborde sinon il est tronqué et c'est la même chose sur toute les feuilles
    0
    1. BerlioZ
       
      Merci Mike, Vaucluse me dit que ce que je veux faire n'est pas possible, la cellule à droite n'étant pas vide justement
      0
  8. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour tous
    je crois qu'il n'y a pas de solution, sauf celle d'effacer la formule en B, ce qui n'est surement pas une bonne option.
    Excel ne saura pas prolonger le texte de A si B en ligne contient une formule quelque soit sont résultat .
    Crdlmnt
    0
    1. BerlioZ
       
      C'est bien mon problème, dans mon cas la solution la moins pire est effectivement de supprimer les formules sur les lignes des titres avant l'impression (impossible d'élargir A)

      Bah tant pis :(
      0
    2. BerlioZ
       
      Merci à vous
      0
  9. BerlioZ
     
    C'est tout le problème, la cellule n'est pas vraiment vide c'est le résultat de la formule =feuil1!A1 qui est égal à 0 donc même si le 0 n'apparaît pas la cellule me cache le texte.
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Alors à part vous résoudre à élargir A je ne vois pas ce qu'on peut vous proposer.
      Bonne chance
      0
  10. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    A part passer par du VBA qui adaptera automatiquement la largeur de la colonne active automatiquement au passage de la souris perso je ne vois pas d'autre solution
    0
    1. BerlioZ
       
      Cette solution serait utile qu'à l'écran, moi mon objectif ce sera de faire des sortie papier, je vais être bon pour supprimer manuellement les formules comme dit Vaucluse

      (ça prend que 5 min en fait mais comme c'est un document outil que j'utilise souvent je voulais me faciliter un peu la tâche ^^ )

      Bon après midi
      0
  11. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    comme tu veux mais en VBA il y a des solutions pour automatiser comme le transfert que des données ce qui solutionnera le problème ou toujours par VBA la suppression des formules qui ne renvoient rien ou l'élargissement automatique des colonnes comme ce code à coller dans la Thiswokbook qui initialement la largeur de la colonne A est de 5 et adapte la colonne à la largeur maximum du texte de la colonne

    Option Explicit

    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Column = 1 Then
    Columns("A:A").EntireColumn.AutoFit
    Else
    Columns("A:A").ColumnWidth = 5
    End If
    End Sub

    0
    1. BerlioZ
       
      euuhh "thiswokbook" c'est un livre de cuisine thaï? j'ai bon?

      Pour le code que tu m'as donné, si il permet une largeur de colonne différente par ligne, ça marcherait mais je crois comprendre que cela adapterait toute la colonne auquel cas je serais pas bien avancé
      0