Masquer donnée d'une feuille

Résolu
houston87 Messages postés 26 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 28 septembre 2011 - 18 févr. 2010 à 03:17
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 18 févr. 2010 à 14:25
Bonsoir,

voila mon petit problème je souhaiterais masquer une feuille (par exemple feuille 3) sur laquelle des données seront placés sauf que ces données change à chaque fois après le lancement d'une petite analyse. Ces données me permettent de tracer une courbe qui se trouve sur autre page exemple (feuille 1) mais des que je masque la page feuille 3 ma macro ne retrouve pas la page comme si elle était inexistante donc comment puis je faire pour pouvoir récupéré ces données sans pour autant qu'on puisse les voir s'afficher sur cette feuille et si possible de la masquer .

8 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
18 févr. 2010 à 13:59
Nous dire où ça plante dans le code (la belle ligne jaune de ton débugger) et le code erreur (S'il ne trouve pas ta feuille, je penche pour une erreur 1004, mais sait-on jamais).

Mais à vue de nez comme ça, je dirais que commencer par le Sheets("Feuil3").select puis enchainer avec seulement des Range doit poser problème, parce que tu ne peux pas sélectionner une feuille masquer.

Tu peux tenter après ton select de faire :
Sheets("Feuil3").activate

Mais je ne suis pas sûr que ça suffira (on peut activer une feuille masquer par code).

L'autre solution que je trouve plus propre, est de déclarer dans ton code à chaque fois sur quelle feuille tu travailles, en faisant :
'Pour chaque range, rajouter
worksheets("Feuil3").range(....)

'Utiliser une variable si le nom de feuille est appelé à changer, ça peut être plus pratique
Dim Feuille as worksheet
Set Feuille = worksheets("Feuil3")
'ajouter dans ton code
Feuille.range(...)


Molenn
3
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
18 févr. 2010 à 08:46
Donne nous ton code, il doit y avoir un pb dedans parce que moi, quand je fais le code suivant :

For i = 1 To ActiveWorkbook.Worksheets.Count
    MsgBox Worksheets(i).Name
Next i


que les feuilles soient masquées ou non, j'affiche bien leur nom. Je peux donc travailler dessus.

Molenn
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2010 à 08:55
Bonjour,
ne masque pas la feuille mais ses cellules

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
houston87 Messages postés 26 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 28 septembre 2011
18 févr. 2010 à 13:36
voici mon code qui me permet de trouver les données et de choisir la feuille 3


Sheets("Feuil3").Select

Columns("I:I").Clear


For i = 1 To 40382
f = FreeFile
Open chemin For Binary As #f
Get #f, ((2 * i) - 1) + 44, pfaible
Get #f, (2 * i) + 44, pfort
Close #f


Range("D" & [i]).Value = pfaible
Range("E" & [i]).Value = pfort

If npiste 1 Then Range("H" & [i]).Value Range("D" & [i]).Value * 256 + Range("E" & [i]).Value
If npiste 2 Then Range("H" & [i]).Value Range("D" & (2 * i)).Offset(-1, 0).Value * 256 + Range("E" & (2 * i)).Offset(-1, 0).Value
If npiste 2 Then Range("I" & [i]).Value Range("D" & (2 * i)).Value * 256 + Range("E" & (2 * i)).Value



Next

For j = 0 To 40381

Range("K" & 1 + j).Value = (j * (1 / Freq)) / 2

Next


qu'est ce que je dois faire
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2010 à 13:54
1) Commence déjà par te débarrasser de cette fort mauvaise habitude de sélectionner une feuille pour la traiter !
Si tu veux pointer vers elle et vers des cellules qu'elle contient, pointe donc ! IUnutile de sélectionner !
2) masque les cellules et non la feuille (déjà dit)
3) pour le reste, que veux-tu qu'on te dise, sans savoir ce que contiennent et sont chemin et npiste ? (boule de cristal en panne !)*
4) et qu'est cette histoire de boucle for I DANS laquelle tu semble toujours ouvrir le même fichier ? pourquoi l'ouvrir plusieurs fois ? (bizarre).
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
houston87 Messages postés 26 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 28 septembre 2011
18 févr. 2010 à 14:01
comment je fais pour masquer les celulles?(le plus important pour moi c'est qu'on ne voit pas mes données lorsque je lance mon analyse)

pour ce qui est de i c'est une boucle parceque je lis toute une série de donnée qui sont sur un fichier wave et chaque donnée est une valeur placée dans un classement différent et que je place par la suite dans une celulle sur excel qui me permettra de tracer ma courbe grace à ces données.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2010 à 14:24
1) (et surtout) Il n'y a absolument aucune nécessité d'ouvrir n fois un fichier et de le fermer (pour le rouvrir) pour lire ses n lignes une par une !
2) on masque des cellules (ou des plages) en utilisant la propriété hidden (que l'on met à True) ...

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2010 à 14:25
Ah oui : et :
3) on ne sélectionne ni active une feuille pour pointer sur elle et ses cellules ! on pointe directement en se référant à la feuille et à la ou les cellule(s) concernée(s).


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous