Enlever les zeros

flo2002

XLDnaute Impliqué
Bien le bonjour tout le monde,

une petite question ce matin.
Je voudrais que dans mon classeur la valeur 0 n'apparaisse pas.
Est ce que si je met ActiveWindow.DisplayZeros = False
dans mon workbook ca suffit?
Dois je le mettre en private sub workbook_open?
merci de vos lumieres sur cette affaire...
 

flo2002

XLDnaute Impliqué
Re : Enlever les zeros

RE bonjour,
je connais bien cette maniere de faire, c'est meme de la que je sors ce code.
Mon soucis, c'est que par macro j'ajoute des feuilles et donc il faudrait le faire pour toutes les feuilles à chaque ajout, d'ou l'interet de l'avoir en parametre de classeur.
merci comme meme
 

informatixo

XLDnaute Occasionnel
Re : Enlever les zeros

Re,

Excuse-moi j'avais mal compris ta question.

Tu peux faire une boucle qui parcours toutes les feuilles et enlève cette option pour un nouveau classeur qui contient les 3 feuilles.

Sinon si ça t'intéresse, il y a moyen de créer un classeur avec une seule feuille.

Code:
Dim classeur As Workbook
Set classeur = Workbooks.Add(xlWorksheet)

ou alors

Application.SheetsInNewWorkbook = 1
Et après tu peux faire un code sur les feuilles ajoutées qui enlève aussi l'option.

Ton code :

Code:
ActiveWindow.DisplayZeros = False
fonctionnera très bien si ta nouvelle feuille créée est la feuille active, mais si tu as un doute tu peux toujours écrire :

Code:
Worksheets("[COLOR=Red]NomDeLaNouvelleFeuille[/COLOR]").DisplayZeros = False
Et si tu manipule beaucoup de classeurs, tu peux toujours préciser le classeur devant la feuille.

Celà t'éviteras de parcourir toutes les feuilles à chaque fois.

En espérant, ce coup-ci, avoir répondu correctement à ta question

A plus sur le forum
 

flo2002

XLDnaute Impliqué
Re : Enlever les zeros

Merci je pense que je me rapproche.

Avec
Worksheets("NomDeLaNouvelleFeuille").DisplayZeros = False

est ce que je peut le placer dans le workbook pour le lancer au démarrage?
apres me restera juste à définir des variables et le tour sera joué!

merci d'avance
 

informatixo

XLDnaute Occasionnel
Re : Enlever les zeros

Re,

Oui si tu la mets dans le "Workbook_open" celà fonctionnera mais uniquement pour la feuille mentionnéé sinon il te faut boucler sur cette ligne en changeant le nom de la feuille à chaque fois.

Sinon, ce que tu peux faire c'est à l'ouverture du classeur (à tester) :

Code:
For each Worksheet in Active.Workbook
Worksheet.DisplayZeros = False
Next worksheet
Et ensuite tu le fais rien que pour chaque feuille que tu ajoutes

Qu'en penses-tu ?
 

flo2002

XLDnaute Impliqué
Re : Enlever les zeros

Petit soucis....

j'ai mis:
Dim feuil1 As String, feuil2 As String, feuil3 As String, feuil4 As String, feuil5 As String, feuil6 As String, feuil7 As String, feuil8 As String, feuil9 As String
feuil1 = Sheets("Garde").Range("F1").Value
feuil2 = Sheets("Garde").Range("F2").Value
feuil3 = Sheets("Garde").Range("F3").Value
feuil4 = Sheets("Garde").Range("F4").Value
feuil5 = Sheets("Garde").Range("F5").Value
feuil6 = Sheets("Garde").Range("F6").Value
feuil7 = Sheets("Garde").Range("F7").Value
feuil8 = Sheets("Garde").Range("F8").Value
feuil9 = Sheets("Garde").Range("F9").Value


Worksheets(feuil1).DisplayZeros = False
Worksheets(feuil2).DisplayZeros = False
Worksheets(feuil3).DisplayZeros = False
Worksheets(feuil4).DisplayZeros = False
Worksheets(feuil5).DisplayZeros = False
Worksheets(feuil6).DisplayZeros = False
Worksheets(feuil7).DisplayZeros = False
Worksheets(feuil8).DisplayZeros = False
Worksheets(feuil9).DisplayZeros = False

mais ca ne lui plait pas beaucoup. La variable parait bien definit mais il plante des le premier displayzero.
Une idée?
 

informatixo

XLDnaute Occasionnel
Re : Enlever les zeros

Qu'est-ce qu'il y a dans F1 à F9 de "Garde"

Sinon ce code fera la même chose :

Code:
For Each Worksheet in Active.Workbook
Worksheet.DisplayZeros = False
Next worksheet
Cela signifie que pour chaque feuille (Each Worksheet) du classeur actif (Active.Workbook) il enlève l'option "valeur zéros"

En attendant mets le reste de ton code en commentaires et mets un bouton ou tu mettras celui plus haut.

Sinon envoie ton fichier excel ou une partie pour qu'on puisse le voir d'un peu plus près.

A plus
 

flo2002

XLDnaute Impliqué
Re : Enlever les zeros

Re à tous voila ma solution:


Dim feuil1 As String, feuil2 As String, feuil3 As String, feuil4 As String, feuil5 As String, Feuil6 As String, feuil7 As String, feuil8 As String, Feuil9 As String
feuil1 = Sheets("Garde").Range("F1").Value
feuil2 = Sheets("Garde").Range("F2").Value
feuil3 = Sheets("Garde").Range("F3").Value
feuil4 = Sheets("Garde").Range("F4").Value
feuil5 = Sheets("Garde").Range("F5").Value
Feuil6 = Sheets("Garde").Range("F6").Value
feuil7 = Sheets("Garde").Range("F7").Value
feuil8 = Sheets("Garde").Range("F8").Value
Feuil9 = Sheets("Garde").Range("F9").Value '


On Error Resume Next
Worksheets(feuil1).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil2).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil3).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil4).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil5).Select
ActiveWindow.DisplayZeros = False
Worksheets(Feuil6).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil7).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil8).Select
ActiveWindow.DisplayZeros = False
Worksheets(Feuil9).Select
ActiveWindow.DisplayZeros = False
Worksheets(feuil1).Select

On Error GoTo 0

pas trés beau mais efficace...

bonne journée à tous
 

informatixo

XLDnaute Occasionnel
Re : Enlever les zeros

Re,

Excuse-moi encore une fois mais je mes suis lamentablement planté en voulant aller trop vite en besogne ...

En fait j'ai lu ActiveWorksheet au lieu de ActiveWindow d'où mon erreur.

J'ai testé ce code et il fonctionne chez moi :

Code:
Dim Feuille As Object

Application.ScreenUpdating = False
For Each Feuille In Worksheets
    Feuille.Activate
    ActiveWindow.DisplayZeros = False
Next Feuille
Worksheets(1).Activate
Application.ScreenUpdating = True
Il permet de parcourir toutes les feuilles du classeur courant et d'enlever l'option "valeurs zéros".

Après sur ton code d'ajout de feuille tu peux rajouter :

Code:
Application.ScreenUpdating = False
Worksheets("[COLOR=Red]NomDeLaFeuille[/COLOR]").Activate
ActiveWindow.DisplayZeros = False
Application.ScreenUpdating = True
Et voilà ce coup-ci je pense que c'est bon et tiens nous au courant.

PS : le code qui parcours les feuilles peut être placé au démarrage du classeur dans "Workbook_open" ou là où tu le veux.

Encore désolé et à plus
 

flo2002

XLDnaute Impliqué
Re : Enlever les zeros

Trés bien cela fonctionne,
merci encore
J'ai gardé les deux versions pour etre plus sur lol!
Sinon je ne pense pas que tu es à t'excuser je donne souvent aussi des choses erronées, le principale est de faire avancer la chose, de donner des pistes.
Merci encore
 

informatixo

XLDnaute Occasionnel
Re : Enlever les zeros

Merci de rien c'est normal de s'entraider.

Pour ce qui est des excuses il est vrai que personne n'a la science infuse sinon il est clair que ce serait cool mais comme je t'avais induit en erreur j'ai jugé nécessaire de m'excuser mais j'apprécie grandement tes propos.

Content que ça fonctionne et à plus sur d'autres fils j'espère
 

Discussions similaires

Réponses
16
Affichages
712
Réponses
12
Affichages
601

Statistiques des forums

Discussions
312 688
Messages
2 090 961
Membres
104 710
dernier inscrit
TomCallhagan