Référence à une feuille par codename
Résolu
Medestrac
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Référence à une feuille par codename
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Comment imprimer en a5 sur une feuille a4 - Guide
- Reference pto - Accueil - Box & Connexion Internet
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peut-être
ou
peut-être
Feuilles = array("Feuil1", "Feuil4", "Feuil8") For each F in Feuilles sheets(F).range("A1") = "blabla" Next F
ou
dim F as worksheet, nom as string Feuilles = array("Feuil1", "Feuil4", "Feuil8") For each nom in Feuilles set F = sheets(nom) F.range("A1") = "blabla" Next F
Bonjour,
Le problème est que le "nom" de la feuille est différent. Dans l'éditeur VBA -> Propriétés d'une feuille il y a une ligne "(Name)" qui chez moi est "Feuil1" et une ligne "Name" qui chez moi est "Entrée 2021".
Pour écrire sur cette feuille je peux faire soit
Mais le code suivant ne marche pas:
car nom ne correspond pas à la propriété name de la feuille mais à la propriété (name)...ce qui n'est pas pareil.
Le problème est que le "nom" de la feuille est différent. Dans l'éditeur VBA -> Propriétés d'une feuille il y a une ligne "(Name)" qui chez moi est "Feuil1" et une ligne "Name" qui chez moi est "Entrée 2021".
Pour écrire sur cette feuille je peux faire soit
Feuil1.range("A1") = "blabla"soit
Sheets("Entrée 2021").range("A1") = blabla
Mais le code suivant ne marche pas:
nom = "Feuil1"
sheets(nom).range("A1") = "blabla"
car nom ne correspond pas à la propriété name de la feuille mais à la propriété (name)...ce qui n'est pas pareil.
nom = "Feuil1"renvoi une erreur tandis que
nom.range("A1")= "blabla"
Feuil1.range("A1") = "blabla"fonctionne correctement
La solution dans mon cas est effectivement d'utiliser la propriété name de la manière suivante:
Feuilles = Array(Feuil1.name, Feuil4.name, Feuil8.name)
For each F in Feuilles
worksheets(F).Range("A1")= "blabla"
Next
Merci du coup de main