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

VB 6 et antérieur Discussion :

travail sur plusieur classeur


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut travail sur plusieur classeur
    bonjour a tous,

    je doit travailler sur deux classeur different est malheureusement ej n'y arrive pas.j'ouvre mon premier classeur, et ensuite avec click sur un command bouton j'ouvre mon deuxieme classeur pour ajouter une ligne dans la worksheet1 hors il me rajoute une ligne dans le premier classeur ouvert et pas dans le deuxieme comme je le souhaiterais.
    pourriez vous m'aidez s'il vous plait car la je tourne en rond.
    merci bcp.

  2. #2
    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
    Hello,

    Actives-tu ton second classeur et sélectionnes-tu la feuille avant de bricoler dedans ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Workbooks("NomClasseur2.xls").activate
    Worksheets("NomFeuilClasseur2").select
     
    'ou 
     
    sheets("NomFeuilClasseur2").activate
    Tu dis

    A+

  3. #3
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    oui mais je ne comprend absolumen,t pk il ne veut pas travailler sur le deuxieme.
    j'ai essayer avec ta methode car moi j'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wrexcel.Activate
    wfexcel.Select
    mais ça ne me donne rien de plus

  4. #4
    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
    A tout hasard, ton second classeur ne serait-il pas protégé ?

    A tout'

  5. #5
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    non le seul classeur proteger est le premier.

  6. #6
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Hello !
    Plus généralement, si tu penses bien à préfixer touts tes "Cells(a,b)" ou tes "Range(Colonne & i)" par le nom du classeur et le nom de l'onglet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbook("PremierClasseur.xls").Worksheets("OngletA").Cells(2,1)...
    tu devrais éviter les confusions, sans avoir a faire de SELECT, ni d'ACTIVATE.

  7. #7
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    desolée maios ça ne fonctionne pas mieux.
    je comprend vraiment pas ce qui se passe.
    je vais essayer de creer un autre executable que j'appellerais pour ouvrir et travailler dans e deuxieme classeur.mais cette solution m'ennuie un peu,si qq'un a une lumiere a me donner je suis preneur.

  8. #8
    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
    Bref, montre nous ton code... d'écriture autant que de sélection

    A+

  9. #9
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    voila ouskel'nor
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Private Sub Command2_Click()
     
    'ouverture de l'application
    Set appexcel2 = CreateObject("excel.application")
    'ouverture du fichier"INDICATEUR"
    Set wrexcel = appexcel2.Workbooks.Open("c:\dossier\INDICATEURS.xls")
    'ouverture des feuilles
    Set wfexcel = wrexcel.Worksheets("données_production")
    Set waexcel = wrexcel.Worksheets("données_causes")
    Set wcexcel = wrexcel.Worksheets("données_prévisionnel")
    Set wdexcel = wrexcel.Worksheets("VUE_GLOBALE")
    appexcel2.Visible = True
     
    wrexcel.Activate
    wfexcel.Select
     
     
    r = 1
    q = Range("A65535").End(xlUp).Row + 1   'recuperation de la premiere ligne vide
     
     
    Cells(q, r).Select                      'selection de la premiere ligne vide
    Selection.EntireRow.Insert              'ajout d'une ligne complete
     
    wrexcel.Close   'fermeture du classeur excel
    appexcel2.Quit   'fermeture de l'application excel
    'desallocation memoire
    Set wfexcel = Nothing
    Set waexcel = Nothing
    Set wcexcel = Nothing
    Set wdexcel = Nothing
    Set wrexcel = Nothing
    Set appexcel2 = Nothing
     
    End Sub
    et voici le code pour le premier classeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Sub form_load()
     
    'ouverture de l'application
    Set appexcel = CreateObject("excel.application")
    'ouverture du fichier 
    Set wbexcel = appexcel.Workbooks.Open("dossier\CD.xls")
    'ouverture de la feuille 
    Set wsexcel = wbexcel.Worksheets("VALID")
    appexcel.Visible = False
     
    Call ligne
     
    End Sub
    en esperant que aideras.
    par contre les deux classeur sont ouvert dans deux form different.

  10. #10
    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
    Déjà, dans l'ouverture de ton fichier 2, tu ouvres une seconde fois l'application.

    Essaie de supprimer cette ligne dans "Private Sub Command2_Click() "
    'ouverture de l'application
    Set appexcel2 = CreateObject("excel.application")
    Tu dis

    A+

  11. #11
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    au debut je ne recreer pas mon application mais erreur oblige je l'ai recreer. sans cette ligne j'ai l'erreur "un objet et obligatoire"(erreur 424).

  12. #12
    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
    Ouvre tes deux fichiers avec le même bouton quite à fermer le premier et quitter l'application ouverts dans form_load.

    J'ignore si tu peux déclarer appexcel en public mais ce serait sans doute la meilleure solution... (Je ne connais pas VB)

    Au fait, tu as regardé dans la FAC, il y a un sujet qui traite d'Excel sous VB

    A+

  13. #13
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    j'ai regarder dans la fac, il donne methode que je ne comprend pas trop mais je vais essayer.et je ne peux pas ouvrir met deux application avec le meme bouton(malheureusement). car comme je le dit plus haut ils sont sur deux form different.

  14. #14
    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 essaie de déclarer appexcel en public (???)

    A+

  15. #15
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    deja essayer aussi.cela ne fonctionne pas non plus.
    je vais essayer la methode de la FAQ sinon en creant un modukle a part pour l'ouverture du deuxieme classeur et l'ecriture a l'interieur, comme ça ça devrait fonctionner je vous tiendrez au courant mais surtout si vous avez d'autre idées n'hesitez pas. l'aide ai toujours la bienvenu et un savoir n'est utile que si il est partager.

  16. #16
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    bon ben j'ai tester la methode donner par la FAQ mais c une methode VBA. et je n'arrive pas (meme en la modifiant pour VB) a la faire fonctionner.donc j'espere que l'un d'entre vous pourra m'aider.
    merci d'avance

  17. #17
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    bon ben voila je viens de tester la methode qui m'avais ete donne par megaxel en precisant devant chaque cells sur quel classuer je travailler et ça a bien fonctionner.merci bcp a tous pouir votre aide et a toi megaxel pour la solution.

  18. #18
    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
    Hello,

    Je me demandais pourquoi tu disais de la solution de mégapixel qu'elle ne marchait pas et j'ai trouvé :
    Metsmoil'sel écrit
    Workbook("PremierClasseur.xls").Worksheets("OngletA").Cells(2,1)...
    alors qu'il faut mettre "Workbooks("PremierClasseur.xls")...."
    Salut passemoilsel
    J'aime bien épuiser "le sujet"

    A+

  19. #19
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    merci ouskel'nor et c'est effectivement ce qui me poser probleme.

    et voila c moi qui est le dernier.lol (juste pour t'ennuyer. quoique je devrais pas sinon tu vas plus m'aider.lol)

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 21/03/2008, 11h52
  2. Travailler sur plusieurs sessions
    Par Amrac dans le forum Langage
    Réponses: 3
    Dernier message: 17/09/2007, 15h30
  3. Réponses: 5
    Dernier message: 28/05/2007, 11h52
  4. [VBA-E] travailler sur deux classeurs
    Par argv666 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/09/2006, 10h40
  5. [VBA-E]travail sur deux classeurs excel
    Par richou dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/04/2006, 10h59

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