Microsoft 365 Ne pas afficher les zéros si retour de formule vide dans nouveau classeur

  • Initiateur de la discussion Initiateur de la discussion choup67
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

choup67

XLDnaute Occasionnel
Bonjour à tous,

Je sollicite votre aide car je n'arrive pas à trouver la réponse à ma question.

J'utilise une formule rechercheX, qui me renvoie parfois du vide. Dans mon classeur de travail, j'ai été dans les options avancées pour désactiver l'affichage des zéros.

Par contre, j'ai un petit script qui tourne et qui copie les valeurs de ces formules dans un nouvel onglet en valeur et qui va ensuite déplacer cet onglet pour me créer un nouveau classeur. Le soucis, c'est que dans ce nouveau classeur, les zéros s'affichent. Ce que je ne veux pas.

Pour donner plus de contexte, mon outil permet de récupérer des valeurs d'une table en fonction d'une valeur choisie par l'utilisateurs. Ca créer ensuite un nouveau classeur qui est en fait un template de chargement pour SAP. Les "0" non voulus sont donc très gênants puisque SAP refuse de charger le fichier avec des valeurs non autorisés dans les champs en questions (colonnes du fichier excel).

Voilà mon code, très sommaire. Et la formule que j'ai qui peut me renvoyer des zéros si vide : =RECHERCHEX($A6;Tb_Flows[Reverse flow];INDIRECT("Tb_Flows["&D$5&"]");"";0)

VB:
Sub generateZMLMTemplate()

' create new tab name upload
Sheets.Add.Name = "Upload"


' Copy table containing template data in value in this new tab
With Sheets("Automatic Template")
    '.Range("Tb_Template[#All]").Copy
    .Range("Tb_Template[[#All],[MATNR]:[PIR_Data]]").Copy
End With


With Sheets("Upload")
    .Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

' Remove stop column
    .Range("AH1").EntireColumn.Delete
End With

' Move the tab in a new excel file
Sheets("Upload").Move

MsgBox "Template created"

End Sub


Merci pour votre aide.
 
Merci beaucoup 🙂

En cherchant en parallèle j'avais fini par trouver en ajoutant une ligne à mon code VBA : ActiveWindow.DisplayZeros = False

Après avoir déplacé la feuille "upload" et ça fonctionne aussi. Mais la solution avec la formule me convient également et me servira à l'avenir.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
4 K
Compte Supprimé 979
C
Retour