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 :

Probleme avec un code .name


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Par défaut Probleme avec un code .name
    bonjour à tous, j'ai un souci sur ce code, en effet il m'arrive de tomber sur des cas , ou la variable 11 est un nom comme ceci : xxxxx-3 et son activesheet porte le meme nom, ce qui pose donc probleme je pense avec le .name car j'ai un erreur 2015 sur mon coutpompe.

    y'aurait il un autre moyen de rédiger cette formule? pour eviter ce probleme avec le nom de la sheet ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coutpompe = Evaluate("INDEX(" & Workbooks(variable11).ActiveSheet.Name & "!J1:J65536,MAX(IF(NOT(ISERR(SEARCH(""habille""," & Workbooks(variable11).ActiveSheet.Name & "!B2:B65536)))*NOT(ISERR(SEARCH(""pompe""," & Workbooks(variable11).ActiveSheet.Name & "!D2:D65536)))>0,ROW(" & Workbooks(variable11).ActiveSheet.Name & "!B2:B65536))))")
    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Tu veux dire que le classeur portent le même nom (y compris l'extension "xls" ?)
    Quant à refaire ta formule, il serait plus simple de nous dire ce que tu veux calculer.

    Si le classeur désigné par "Variable11" n'est pas le classeur actif, tu vas dans les problèmes, car ta formule ne fait référence qu'au nom de la feuille et non pas au nom du classeur. Ou tu introduis ce dernier dans la formule, ou tu mets (sauf erreur) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbooks(variable11).Activate
    coutpompe = Evaluate("INDEX(J1:J65536,MAX(IF(NOT(ISERR(SEARCH(""habille""," & _
    "B2:B65536)))*NOT(ISERR(SEARCH(""pompe"",D2:D65536)))>0,ROW(B2:B65536))))")

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Par défaut
    heu, pourtant ma formule spécifie bien le nom du workbooks : ( variable11) et la feuille : activesheet , alors je ne comprends pas pourquoi il y aurait un problème de ce coté la, non ?

    en fait la formule me permet de récuperer la valeur dans la colonne J de la ligne qui possède dans sa colonne B , la valeur habillé et dans sa colonne D la valeur pompe,

    autrement dit, une Vlookup mais avec deux paramètres , un en colonne B et un en colonne D, et l'intersection des deux donne ce que je cherche .


    mais le seul probleme que j'ai observé, c'est quand la variable11 et donc la sheet car ils ont tout les deux le meme nom, sauf que variable11 contient .xls et que la sheet non, Et bien quand la valeur est de la forme xxx-3 ou xxx-4 etc, et bien la variable coutpompe renvoi une erreur 2015,

    n'y a t'il pas moyen de passer par une autre extension que .name ?


    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    heu, pourtant ma formule spécifie bien le nom du workbooks : ( variable11)
    Nan,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(variable11).ActiveSheet.Name
    ne renvoie que le nom de la feuille. Poour avoir le nom du classeur et le nom de la feuille dans la formule, il faut une syntaxe du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[" & variable11 & "]" & Workbooks(variable11).ActiveSheet.Name & "!$A$1"
    avec possiblement des apostrophes en supplément.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Par défaut
    ah bon ? mince alors, et le fait de le mettre ou de ne pas le mettre sa change quoi alors? ( workbooks) , car si on ne le met pas, bin c'est que la feuille qui est spécifié, et avec aussi ?....

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Si le classeur est le classeur actif, tu n'as ni besoin de préciser le classeur, ni la feuille. C'est le code que j'ai posté. J'active le classeur et, dans la formule, j'ai ôté la référence au classeur et à la feuille.

Discussions similaires

  1. Probleme avec mon code : Comment changer de JPanel
    Par serialkilled dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/12/2006, 10h13
  2. [Tableaux] probleme avec mon code pour faire un parseur !
    Par Joe-La-Boule dans le forum Langage
    Réponses: 10
    Dernier message: 11/10/2006, 15h35
  3. [VC++] probleme avec le Pipe Named
    Par ksoft dans le forum Visual C++
    Réponses: 2
    Dernier message: 21/07/2006, 18h34
  4. Problème avec mon code et avec gcc
    Par JavaAcro dans le forum Linux
    Réponses: 3
    Dernier message: 13/06/2006, 22h47
  5. Probleme avec le code
    Par vivu dans le forum C++
    Réponses: 10
    Dernier message: 29/10/2005, 20h52

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