IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

formule avec nom de la feuille variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut formule avec nom de la feuille variable
    bonjour à tous
    je finalise mon travail, et pour celà il faut que je fasse attention aus petit detail..bref, dans mon code j'utilise des fois le nom de la feuille initial Feuil8 et des fois le nom que je lui attribuer en renommant la Feuil8 qui est :GRILLEAGRICULTURE. mon sousci est si un utilisateur renomme la Feuil8 alors mon progarme ve se planter parceque moi j'utilise le nom GRILLEAGRICULTURE dans mon code

    pour ce genre de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Feuil11].Range("D32").CopyFromRecordset rsT
    comme j'utilise le nom Feuil1, ça ne pose pas de probleme
    mais pour ce type de code _ça me pose probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [Feuil11].Range("B5").FormulaLocal = "=SOMME(GRILLEAGRICULTURE!D2:D65536)"
    alors j'ai essayer ça mais ça fonctionne pas; probleme de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim GRILLEAGRICULTURE As String
     GRILLEAGRICULTURE = [Feuil8].Name[Feuil11].Range("B5").FormulaLocal = "=SOMME("&GRILLEAGRICULTURE&"!D2:D65536)"
    merci par avance

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut rectification
    c'est ça mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Feuil11].Range("B5").FormulaLocal = "=SOMME('&GRILLEAGRICULTURE&'!D2:D65536)"
    mais n'emeche ça marche pas! et ce que je coprend pas des fois il me sort une fenetre en me disant si je veux metre à jour la feuille AGRICULTURE? EST CE QUE VOUS VOYEZ POUR QUOI, ? MERCI

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Feuil11].Range("B5").FormulaLocal = "=SOMME(" & sheets(8).name & "!D2:D65536)"
    A tout hasard, il me semble avoir déjà vu quelque chose "comme ça"
    Pas testé (!)

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut MERIC
    MERCI OUSKEL'N'OR 9A MARCHE BIEN POUR LE CODE QUE TU M4AVAIS DONNé ? MAIS COMME J4AI UN AUTRE PROBLEME çA N EMARCHE PAS ENCORE POUR CE TYPE? MAIS COMME TU M'AS DONNé L'IDEE ALORS JE VAIS ESSAYE DE VOIR POURQUOI?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    rSQL = "SELECT  Sum(G.NONCONFORMESR)" & _
           "From [AGRICULTURE$] C , [" & Sheets(8).Name & "$] G " & _
           "Where  C.NOPRET = G.NOPRET " & _
           " and C.NOTEB2 IN( '" & RJ & "', '" & RK & "', '" & RL & "')"
    'Exécution de la Requete SQL
    Set rsT = New ADODB.Recordset
            With rsT
                .ActiveConnection = Conn
                .Open rSQL, , adOpenKeyset, adLockOptimistic, adCmdTableDirect
            End With
    [Feuil11].Range("E22").CopyFromRecordset rsT
    MERCI ENCORE

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut pas tout à fait
    tu sais il ya un petit probleme avec ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Feuil11].Range("B5").FormulaLocal = "=SOMME(" & Sheets(8).Name & "!D2:D65536)"
    il m'affiche sur la barre de s formule ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SOMME(AGRICULTURE!.Name & "!D2:D65536)
    or qu'il doit afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SOMME(GRIILEAGRICULTURE!.Name & "!D2:D65536)
    car AGRICULTURE correspond à Feuil3
    et GRIILEAGRICULTURE correspond à Feuil8
    je pense en faisant Sheets(8) ça correspond pas à Feuil 8?

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Alors passe par une boucle intermédiaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 to ActiveWorkbook.sheets.count
         if Workbooks(i).name = "GRIILEAGRICULTURE" then Exit for
    Next
    [Feuil11].Range("B5").FormulaLocal = "=SOMME(" & Sheets(i).Name & "!D2:D65536)"
    Et si tu as toujours ".name dans ta formule, supprime-le dans ta ligne, mais j'ai testé (ce coup-ci) et avec .name, ça fonctionne
    Il y a sans doute plus sioux mais j'avais rencontré ce pb (yatrélontan) et je l'avais réglé ainsi.
    S'il y a mieux, je ne demande qu'à apprendre.
    A+

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 171
    Points : 65
    Points
    65
    Par défaut c bon
    tu sais j'utilise ta formule mais sans faire de boucle (c trop pour moi car je fais appel plusieur fois..) alors avant j'aisser d'avoir à quelle feuille correspond chaque numéro en suite je le met directement, et c parfait pour moi, alors tu m'a vraiment reglé un sacré probleme. merci encore une fois et bonne apres midi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Formule avec le nom d'une feuille
    Par Loki83 dans le forum Excel
    Réponses: 2
    Dernier message: 07/06/2011, 11h24
  2. Creation de feuilles avec nom variable
    Par Potzo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/08/2010, 10h28
  3. suppression feuille avec nom variable
    Par miopie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2010, 10h23
  4. [Toutes versions] formule vba avec nom de feuille variable
    Par leptitdave dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/08/2009, 11h30
  5. Utiliser un nom de feuille variable dans une formule
    Par DubDub dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/02/2009, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo