Accès VBA sur Feuilles Xls masquées

  • Initiateur de la discussion Initiateur de la discussion Antoine
  • 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 !

A

Antoine

Guest
Quelqu'un sait-il comment écrire ou lire dans des cellules d'une feuille xls depuis une macro VBA si cette feuille est masquée?

Merci pour votre aide
Antoine
 
Bonjour à tous,

Bon, j'vas encore dire une c... mais la seule manière que j'ai trouvée est la suivante :

Sheets("Truc machin chouette").visible = true
au début de ton traitement

Sheets("Truc machain chouette"). visible = false
à la fin.

Ce qui fait que ta feuille est visible uniquement quand la macro tourne.

A+

Alexis
 
Bonjour Antoine
Cache feuil3

et dans ta macro, depuis n'importe quelle feuil, exemple feuil1

Private Sub Valeur()
ActiveCell.Value = Sheets("Feuil3").Range("A1")

End Sub

Dans ce cas il mets dans ta cellule active la valeur qu'il trouve dans ta feuil3 en A1

pour ecrire tu fais le contraire

Private Sub Valeur()
Sheets("Feuil3").Range("A1").Value = "TEST"

End Sub

Et que la feuille soit cache ou pas, il va t'écrire TEST en A1 de la Feuil3

@Christophe@
 
Bonjours à tous !

J'ai mal expliqué le PB: ce n'est pas la feuille que je cache, mais le classeur entier!

par conséquent, la solution de Christophe ne marche pas. Et celle d'Alexis devrait marcher si adaptée au classeur entier, mais je pense qu'il y a plus élégant pour y arriver (excuses moi Alexis)

Merci d'avance pour votre nouvelle aide.
Antoine
 
Bonsoir à tous,

Voici une idée (parmi d'autres) :

Sub PourTonClasseur()

Dim MyExcel As Object
Dim sPath As String

sPath = "C:\Mes Documents\Fichier.xls" '<-- Ici le chemin et nom du classeur

Set MyExcel = GetObject(sPath)

'Si tu veux écrire dans ton classeur
'il ne te reste plus qu a manipuler MyExcel
'exemple :

MyExcel.Worksheets(1).Range("A1") = "TEST"

MyExcel.save
MyExcel.Close
Set MyExcel = Nothing

End Sub



Il ne te reste plus qu'a adapter le code à tes besoins.

Michael
 
Bonsoir au gens de ce fil

Sans essayer la Méthode proposé par Michael, je vois plus simple.

Pour écrire sur le Book4 (lequel étant le classeur Hidden)

Sub TestSurClasseurNONSauvés()
Workbooks("book4").Worksheets("Sheet1").Range("a2:c2").Value = Workbooks("book3").Worksheets("Sheet1").Range("a2:c2").Value
End Sub

Attention sur des classeurs sauvée il faut ajouter l'extention ".xls"
Sub TestSurClasseurSauvés()
Workbooks("book4.xls").Worksheets("Sheet1").Range("a2:c2").Value = Workbooks("book3.xls").Worksheets("Sheet1").Range("a2:c2").Value
End Sub

Pour faire l'inverse, ben il n'y a qu'à inverser... !

Bon Week End
@+Thierry
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
470
Retour