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 :

[E-03] Problème avec Set de worksheet


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut [E-03] Problème avec Set de worksheet
    Bonjour,

    ce n'est pas la première fois que j'ai ce problème
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Dim shQuoi As Worksheet
        Dim shDans As Worksheet
        Dim l As Long
     
        Set shQuoi = Workbooks("Q365 Liste Doublons.xls").Worksheets("Annulé")
        Set shDans = Workbooks("BQ365.xls").Worksheets("Feuil1")
        l = shQuoi.Range("A65536").End(xlUp).Row
        MsgBox l
    La première feuille (shQuoi) et correctement liée à la feuille correspondante. Mais pour la deuxième (shDans) j'ai l'erreur d'indice de sélection qui n'appartient pas .....
    Mais je suis sur que mes noms sont corrects (copier/coller)

    J'ai déja eu ce problème mais je ne sais pas comment je l'avais réglé (probablement par erreur....)

    Et si je fais seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        MsgBox Workbooks("BQ365.xls").Name
    J'ai quand même l'erreur...

    Merci de m'éclairer!

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    .... J'ai trouvé pourquoi,

    Quand j'ouvre deux fois l'application (J'ai deux écrans) une fois pour un écran et une fois pour l'autre écran, et bien, chaque classeur est ouvert indépendamment... mais j'ai essayé en ouvrant les deux classeurs dans le "même excel" et ça fonctionne....

    Est-ce possible de faire fonctionner autrement?

    merci!!!

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Peut-être une piste...

    Dans Outils/Options/General, vérifie que Ignorer les autres applications soit bien coché...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    quand je coche cette option (elle ne l'était pas), quand j'ouvre un fichier xls (peu importe ou, sur le bureau par exemple, en cliquant sur l'icone) excel ouvre mais le fichier ne s'ouvre pas, je n'ai pas non plus de classeur vierge (à blanc), seulement le fond gris sans rien.
    J'ai décoché l'option et tout est redevenu normal....

    Est-ce normal?

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Oui, désolé. Au temps pour moi.

    J'ai 2003 et 2007 sur la même machine, et je suis donc obligé d'ouvrir XL2003 d'abord pour pouvoir ouvrir les xls en 2003 et pas en 2007. Dès lors, le phénomène que tu rencontres est absent chez moi.

    Le fait est que tu as deux sessions d'Excel sont ouvertes, or, tu peux travailler sur plusieurs classeurs du moment qu'ils soient ouverts dans la même session.

    Traduit en VBA, cela veut dire que tu dois voir tes classeurs dans le même explorateur de projets.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    J'avais remarqué que je devais ouvrir dans le même explorateur (après quelques .... minutes de recherche et d'essais erreur) j'ai fini pour trouver ceci. Mais est-ce qui a une façon de contrer cela? Comme je disais, j'ai deux écrans, et j'aimerais avoir un classeur excel d'ouvert sur chaque.

    Sans macro, ça fonctionne bien, mais comme plus haute, je dois faire du alt-tab....

    merci

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Si je comprends bien, tu veux travailler dans 2 classeurs ouverts dans des applications différentes. C'est possible, mais il y a des précautions à prendre.

    Tu dois ouvrir le second classeur depuis le premier en instanciant la nouvelle application.

    Du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim xlApp2 as excel.application, wbk2 as Excel.Workbook
     
    Set xlApp2 = New Excel.Application
    Set wbk2 = xlApp2.Workbooks.add sCheminClasseur2
    Ensuite quand tu veux la feuille "NomFeuille" du classeur2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set ShDans = wbk2.Sheets("Feuil1")
    J'espère que cela t'aide. Si je n'ai rien compris au pb, excuse pour le dérangement.

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  8. #8
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Que veut dire "en instanciant" au juste?

    Si je comprends bien, en ouvrant le deuxième classeur de cette façon (qui s'ouvrirant dans un autre explorateur) je pourrai l'utiliser à partir du classeur principale?
    Je vais en prendre note. Pour ce qui est du travail présent, je l'ai terminé à l'aide du alt-tab (pénible mais...) alors pour le prochain (qui viendra j'en suis sur) je vérifiré ceci!

    Merci!!!

  9. #9
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Citation Envoyé par drakkar_agfa Voir le message
    Que veut dire "en instanciant" au juste?
    Tu utilises une variable qui représente un objet. Ici la variable est xlApp2 et l'objet la nouvelle application.
    Si je comprends bien, en ouvrant le deuxième classeur de cette façon (qui s'ouvrirant dans un autre explorateur) je pourrai l'utiliser à partir du classeur principale?
    Oui. Tu auras le deuxième classeur dans une autre fenêtre d'application.

    Cordialement,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

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

Discussions similaires

  1. [XL-2010] Problème avec Set VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/09/2014, 18h17
  2. [XL-2007] problème avec "set plage"
    Par lachappe dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/11/2012, 17h37
  3. problème avec set
    Par ayarikhaoulakoukou dans le forum VBScript
    Réponses: 10
    Dernier message: 01/06/2011, 18h38
  4. Problème avec Set compliance level
    Par bassem-ca dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 19/02/2009, 21h17
  5. [E-00] problème avec set
    Par anyah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2008, 14h07

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