Masquer les colonnes d'un tableau dont les cellules contiennent #REF
julietmike17
Messages postés
4
Statut
Membre
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterai masquer les colonnes d'un tableau dont les cellules contiennent #REF.
Pouvez vous m'aider ?
Merci d'avance !
Je souhaiterai masquer les colonnes d'un tableau dont les cellules contiennent #REF.
Pouvez vous m'aider ?
Merci d'avance !
8 réponses
-
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
-
Merci je cherchais justement le nom du site en question. Je vais le faire. Voici le lien :
https://www.cjoint.com/c/JJEm24BCqBu -
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.- Mais le mieux aurait été de corriger tes formules pour qu'elles n'affichent jamais #REF!
-
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
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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. -
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
-
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à
-
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