Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1771 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Fonction indirect feuille nom varaible

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction indirect feuille nom varaible

n°1786997
cazimiro33
Posté le 15-09-2008 à 15:10:36  profilanswer
 

Bonjour à tous,
 
Voici quelque temps que je me casse les dents sur la fonction indirect:
 
J'ai un code VBA qui permet de générer des feuilles avec un nom variable.  
 
Dim nom_Feuille As String
nom_Feuille = New_Enfant.TextBox1.Text & "_" & New_Enfant.TextBox2.Text
 
Jusqu'ici tout va bien, la feuille est bien généré avec ce nom issu de Userform remplit par l'utilisateur.
 
Là ou ca se complique, c'est que j'ai une feuille nomméé "liste" que je souhaite remplir à partir des donnée de ces feuilles avec le nom variable.
 
Petit schéma de fonctionnement
 
1- Le code génère la feuille "nom_Feuille" et la remplit avec des données
2- Le code doit remplir une feuille existante nommée "liste" avec les données de "nom_Feuille" (Nom variable)
 
Après avoir un peu fouiller sur mon meilleur ami google, je pense que pour faire l'étape 2, il faut que j'utilise la fonction Indirect
J'ai donc ajouter le nom de la feuille dans une cellule de la feuille "liste" et une variable numero_ligne pour recuperer le nom de la feuille.$
Colonne AA et Ligne (Numero_Ligne)
 
j'essai avec ce code:
 
ActiveCell.FormulaR1C1 = INDIRECT("AA" & Numero_Ligne & "!" & "D2" )
 
J'obtient une réponse: Fonction inconnu ou end sub....
 
 
Vous avez une idée?

mood
Publicité
Posté le 15-09-2008 à 15:10:36  profilanswer
 

n°1787005
Moonschild
Posté le 15-09-2008 à 15:31:28  profilanswer
 

En fait, dsl si je comprends mal, tu cherches a inserer des valeurs d'une de tes feuilles créée sur ta feuille qui existe déjà... Si c'est le cas, il fait utiliser un truc comme

Code :
  1. sheets("liste" ).cells(ligne, colonne).value = sheets(nom_feuille).cells(ligne, colonne).value


J'espere ne pas m'etre trompé sur le sens de ta question


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
n°1787017
cazimiro33
Posté le 15-09-2008 à 15:51:12  profilanswer
 

Merci beaucoup pour votre réponse.
Alors...Oui je récupéré bien la valeur à l'instant (t).
par contre si je modifie dans nomFeuille D2 la valeur, celle-ci n'est pas actualisée dans "liste". Ce que je cherche c'est une valeur relative.
 
Encore une idée?

n°1787042
cazimiro33
Posté le 15-09-2008 à 16:07:47  profilanswer
 

cazimiro33 a écrit :

Merci beaucoup pour votre réponse.
Alors...Oui je récupéré bien la valeur à l'instant (t).
par contre si je modifie dans nomFeuille D2 la valeur, celle-ci n'est pas actualisée dans "liste". Ce que je cherche c'est une valeur relative.
 
Encore une idée?


 
C'est good... Solution trouvée:
 
il faut remplacer FormulaR1C1 par Formula (ça fera disparaitre les apostrophes)
 
La fonction INDIRECT interprète un texte comme une référence de plage de cellules. Elle n'est pas indispensable ici, on pourrait trés bien mettre
 
ActiveCell.Formula = "='" & Nom_Feuil & "'!D2"

n°1787044
Moonschild
Posté le 15-09-2008 à 16:08:19  profilanswer
 

une solution dite "a l'arrache" serait de mettre, dans le thisworkbook

Code :
  1. Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  2. Sheets("liste" ).Cells(ligne, colonne).Value = Sheets(mon_feuille).Cells(ligne, colonne).Value
  3. End Sub


PS : Tutoie moi. Déjà parce que moi je le fais, et surtout parce que le forum regroupe une communauté, pas des membres d'une entreprise ;)
 
Edit: ce code en fait met à jour les données a chaque fois que tu changes de feuille, donc en gros, en retournant sur "liste", les données seront mise à jour ;)
 
Edit2 : grilled, en plus ta solution est largement plus propre et simple ^^


Message édité par Moonschild le 15-09-2008 à 16:11:49

---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Fonction indirect feuille nom varaible

 

Sujets relatifs
boost mpl, passer une fonction dans un placeholderExtraire des données d'une page Web en fonction d'un champ formulaire
[PHP] noob fonction updatesélectionner la bonne stringtable en fonction de la langue de l'OS
La fonction focusGained()problemed'envoi et de reception à une fonction
Prblème fonction offsetFonction WeekNum pour VBA
probléme avec fonction if dans oracle forms 
Plus de sujets relatifs à : Fonction indirect feuille nom varaible


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR