Indexer un nom de feuille

edck17 -  
 edck17 -
Bonjour,

J'essai d'indexer une récupération de données dans une feuille, en fonction de la valeur de deux cellules qui fixent le nom de la feuille concernée.
À chaque simulation, j'ai retour d'un code erreur 91, j'ai beau chercher je ne comprend pas ou est mon erreur.

D'avance merci

Dim laFeuille As Worksheet ' LaFeuille est le nom de la feuille élève
Dim Nomdefeuille As String ' nomdefeuille et la chaîne de caractère qui va permettre de construire le nom de la feuille

Range("D70").Select
Nomdefeuille = ActiveCell.Value
Range("D71").Select
Nomdefeuille = Nomdefeuille & "_" & ActiveCell.Value

laFeuille.Name = Nomdefeuille

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re
    je ne vois pas trop où tu veux en venir mais ici

    ActiveCell.FormulaR1C1 = "=laFeuille!appréc_mat01_eleve01"

    1. il vaut mieux eviter les select
    2. puisque C8 doit contenir une formule impliquant une feuille, c'est son nom qu'il faut utiliser donc ceci me parait plus correct

    Range("C8").FormulaR1C1 = "=" & NomdeFeuille & "!appréc_mat01_eleve01" 
    en supposant que appréc_mat01_eleve01 est un nom de cellule

    RQ. ton erreur vient peut etre de la confusion Feuille <-> nom de feuille

    bonne suite
    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour,
    pour affecter une feuille a la variable lafeuille il faut utiliser
    set lafeuille =
    un code un peu plus concis

    Dim laFeuille As Worksheet  
    Dim Nomdefeuille As String  
    Set laFeuille = Sheets("Feuil2") 
    Nomdefeuille = Range("A1").Value 
    Nomdefeuille = Nomdefeuille & "_" & Range("A2").Value 
    laFeuille.Name = Nomdefeuille


    bonne suite
    0
    1. edck17
       
      J'ai effectué les modifications indiquées, en changeant les adresses de cellules, j'ai retour d'une erreur 9 sur

      Set laFeuille = Sheets("Feuille2")

      y a-t-il une solution?

      Merci d'avance
      0
    2. edck17
       
      J'ai trouvé mon erreur, le nom de feuille que j'avais pris ne faisait pas partie de ma bibliothèque...

      Par contre je voudrai indexer ma collecte de données par rapport à ce nouveau nom de feuille (ce sont des commentaires que je veux compiler).
      Les lignes de code sont les suivantes (voir ci-dessous), à chaque simulation excel cherche un fichier contenant une feuille de nom "laFeuille" mais pas du nom que je suis censé avoir créé ...

      Private Sub CommandButton1_Click()
      '
      ' acquisition_donées_bulletin Macro
      ' Macro enregistrée le 07/04/2011 afin de collecter les appréciations de l'élève sélectionné


      Dim laFeuille As Worksheet ' LaFeuille est le nom de la feuille élève
      Dim Nomdefeuille As String ' nomdefeuille et la chaîne de caractère qui va permettre de construire le nom de la feuille

      Set laFeuille = Sheets("modèle_élève")

      Nomdefeuille = Range("d70").Value
      Nomdefeuille = Nomdefeuille & "_" & Range("d71").Value

      laFeuille.Name = Nomdefeuille


      Range("C8").Select
      ActiveCell.FormulaR1C1 = "=laFeuille!appréc_mat01_eleve01"
      Range("C12").Select
      ActiveCell.FormulaR1C1 = "=laFeuille!appréc_mat02_eleve01"
      Range("C16").Select
      ActiveCell.FormulaR1C1 = "=laFeuille!appréc_mat03_eleve01"


      etc etc sur 20 sections

      Qu'est ce qui cloche?

      Merci d'avance, je débute en programmation vba, jusqu'ici j'y arrive avec des bouquins et les faq mais cette fois je coince.
      0
  3. edck17
     
    Bon ben sa gaze, merci

    J'ai encore bien des soucis car je monte une usine à gaz :-)

    Y'a des chances que j'ai encore besoin de tes services dans quelques temps.

    en attendant tout va presque bien

    Merci d'avance

    @+
    0