Masquer les colonnes d'un tableau dont les cellules contiennent #REF

Fermé
julietmike17 Messages postés 4 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 30 octobre 2020 - 30 oct. 2020 à 13:41
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 30 oct. 2020 à 15:31
Bonjour,

Je souhaiterai masquer les colonnes d'un tableau dont les cellules contiennent #REF.

Pouvez vous m'aider ?

Merci d'avance !

8 réponses

JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
30 oct. 2020 à 13:48
Bonjour,
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement



0
julietmike17 Messages postés 4 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 30 octobre 2020
Modifié le 30 oct. 2020 à 13:55
Merci je cherchais justement le nom du site en question. Je vais le faire. Voici le lien :
https://www.cjoint.com/c/JJEm24BCqBu
0
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 231
Modifié le 30 oct. 2020 à 13:54
Bonjour.

Il n'existe pas de formules ordinaires avec des fonctions classique permettant de manipuler des lignes (masquer / afficher etc.)
Par conséquent tu dois soit utiliser l'outil TRI ou FILTRE, soit écrire une macro en VBA.

0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
30 oct. 2020 à 13:52
Bonjour

Pouvez-vous mettre une formule qui vous donne #Réf
Pour la modifier pour avoir comme résultat "" à la place #Réf
Cela serait plus simple
Fournir le fichier serait parfait
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julietmike17 Messages postés 4 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 30 octobre 2020
Modifié le 30 oct. 2020 à 14:13
Je précise que c'est un tableau qui est amené à être utilisé dans le temps. Donc certaines affichent #REF car elles font référence à une donnée qui n'existe pas à l'instant T mais qui pourrait exister plus tard.
Le but de la manoeuvre est de simplifier la lisibilité du tableau afin d'afficher uniquement les colonnes avec des données activent dans l'instant.
J'espère mettre fait comprendre.
Je voudrai utiliser la VBA pour cela.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 412
Modifié le 30 oct. 2020 à 14:32
Bonjour
sans VBA et sans connaître votre formule, pour ne pas afficher #REF

=SIERREUR(votre formule entre les parenthèses);"")
ce qui donnerrai en D2:
=SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("Degré ";'C:\Users\DU MESNIL\Dropbox\DU MESNIL\1-VITICOLE\1-COGNAC-DISTILLATION-STOCK\[STOCK- EDV EARL DU MESNIL.xlsm]Stock'!$B$11;"Cru";"PC";"CV";"9";"Lieu";"STE");"")
vous renverra une cellule "blanche"

vous pouvez éventuellement afficher un commentaire en final, du genre:
=SIERREUR(formule);"en attente")
crdlmnt
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
30 oct. 2020 à 14:50
Bonjour,

Faire Alt F11 pour accéder à l'éditeur
Dans le Ruban Insertion Module

Mettre ce code:

Option Explicit
'boucle sur la ligne 2 de toutes les colonnes
Sub For_X_to_Next_Colonne()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1") 'a adapter
    NoLig = 2 'Lecture de la ligne 2 à adapter
    '(Voir explication sur l'utilisation de Split en bas de cette discussion)
    For NoCol = 1 To Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
        Var = FL1.Cells(NoLig, NoCol)
       If IsError(Var) Then
      Columns(NoCol).EntireColumn.Hidden = True 'Masquer
      ' Columns(NoCol).EntireColumn.Hidden = False 'Afficher
End If
    Next
    Set FL1 = Nothing
End Sub


Mettre le curseur sur: For_X_to_Next_Colonne

Appuyer sur F5 du clavier

Enregistrer classeur prenant en charge les macros
voilà
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
30 oct. 2020 à 15:31
Bonjour,

certaines affichent #REF car elles font référence à une donnée qui n'existe pas à l'instant T mais qui pourrait exister plus tard.
Non. ... qui n'existent plus
Formules qui devront être reprises pour fonctionner à nouveau.
Ca dénote sans doute une mauvaise pratique qu'il va falloir modifier.
eric
0