begin process at 2010 03 20 09:55:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Fonction indirect VBA Excel feuille nom variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction indirect VBA Excel feuille nom variable

lundi 15 septembre 2008 à 13:15:37 | Fonction indirect VBA Excel feuille nom variable

cazimiro

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 récupérer le nom de la feuille.
Colonne AA et Ligne (Numero_Ligne)

j'essaie 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?
lundi 15 septembre 2008 à 14:20:16 | Re : Fonction indirect VBA Excel feuille nom variable

Molenn

Tu t'embêtes avec la fonction indirect, surtout si ton but est de travailler par du code VBA.
Tu as le nom de feuille variable, que ça soit dans une variable ou dans une cellule de ta feuille 'Liste', tu peux l'appeler avec l'objet Worksheet qui désigne les feuilles dans EXCEL.

Par ex, pour récupérer les données de la cellule A1 pour les mettre en C1 de ta feuille Liste, en utilisant une variable :
Worksheets("Liste").range("C1").value = Worksheets(nom_Feuille).range("A1").value

Si le nom de la feuille est contenue dans la cellule B1 de ta feuille 'Liste' :
Worksheets("Liste").range("C1").value = Worksheets(Worksheets("Liste").range("B1").value).range("A1").value

ou Si tu veux tenir compte de ta colonne AA et une ligne variable :
Worksheets("Liste").range("C1").value = Worksheets(Worksheets("Liste").range("AA" & Numero_Ligne).value).range("A1").value

Molenn

lundi 15 septembre 2008 à 15:30:30 | Re : Fonction indirect VBA Excel feuille nom variable

cazimiro

Merci pour votre réponse. Oui c'est exact je récupéré bien la valeur de la feuille.
Par contre si l'on modifie la valeur de la case D2 dans  nomFeuille, celle-ci n'est pas réaffecté dans la feuille "liste". C'est là tout mon problème.

En claire dans la feuille liste ce n'est pas une valeur qu'il me faut m'est une valeur relative.... Encore des idées?
lundi 15 septembre 2008 à 15:44:51 | Re : Fonction indirect VBA Excel feuille nom variable

cazimiro

Désolé pour le double post, fausse manipulation je pense ;)
lundi 15 septembre 2008 à 16:04:29 | Re : Fonction indirect VBA Excel feuille nom variable

cazimiro

Réponse acceptée !
Bon j'ai trouvé la réponse :

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"


Cette discussion est classée dans : fonction, code, variable, feuille, indirect


Répondre à ce message

Sujets en rapport avec ce message

Fonction indirect VBA Excel feuille nom variable [ par cazimiro ] 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 fonction "range" [ par Roussetj ] bonjour,dans mon code, jé déduis la valeur d'une variable Ligne et la valeur d'une variable Colonne.ces 2 valeurs sont des entiers.je veux ensuite cop Variable pour plusieurs feuilles [ par Brodeur ] Bonjour, je voudrais savoir comment faire pour qu'une variable definie dans une feuille soit utilise par une autre feuille (ce serai comme si on faisa Macro Excel : Modifier un graphe en fonction d'une cellule [ par sabrina75 ] Bonsoir tout le monde,Voici mon pb : Sur une feuille 1 j'ai 24 noms de ville avec un nb associé à chacune, j'ai une macro qui les classe par ordre cr comment récupérer un tableau en sortie de Fonction [ par asgarth ] Je "splite" une chaine dans une Fonction.Comment récupérer le tableau "résultat"Mon code :Private Function PremierFichierSplite(Y As String) Fusionner plusieurs classeurs [ par Estelle2003 ] Bonjour,Je suis sous excel 2000 et mon souci est que j'aimerai fusionner dans un document de synthèse excel, mes 17 fichiers excel.Mon document de syn Fonction formula dans VB pour inclusion dans feuille Excel [ par thesorceor ] [font=Verdana]Bonjour,Je crée dynamiquement des fonctionsde somme toutes bêtes =Somme(A1:A9) a partir de vb dans une feuille excel et lorsque j'ouvre fonction paste avec range en vba excel [ par topack ] J'ai deux classeurs excel, je copie une cellule d'une feuille d'un des classeur vers une feuille de l'autre classeur.cette cellule contient une chaine QUESTION [ par lataupeben ] existe-t-il un type de fichier permettant de stocker des donnée de variables en fonction d'autreil me faudrait un truc du genre bese de donnée il faud Insertion d'une fonction VB dans un code VBA [ par legaou ] Comment utiliser un fonction VB dans un code VBA?


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales