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 :

Problème sur activesheet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut Problème sur activesheet
    Bonjour,
    une nouvelle fois je vais avoir besoin de vous pour qqchose de très simple.
    Depuis un classeur Excel sur lequel se trouve un bouton, j'ouvre un autre classeur Excel sur lequel se trouve une seule feuille.
    Je voudrais que le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    For x = 10 To 5000
        If Feuil1.Range("a" & x).Value = "Type billet :" Then
            typ = Feuil1.Range("d" & x).Value
            x = x + 1
            While Feuil1.Range("a" & x).Value <> "Type billet :"
                Feuil1.Range("d" & x).Value = typ
            Wend
        End If
    Next x
    s'exécute sur la feuille du classeur que j'ouvre au moyen du bouton mais ce n'est pas le cas.Le code fonctionne bien mais cependant il s'exécute sur la feuille du premier classeur(celle ou se trouve le bouton).

    Merci d'avance.

  2. #2
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    il fauit que tu actives l'autre classeur sur lequel tu fais les tests

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut moultes tentatives
    j'ai essayé de l'activer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    workbooks(etl & ".xls").activate
    etl étant une variable string("01/10/2007" par exemple) retranscrite avec mid en 01102007 mais celà ne change rien

  4. #4
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    Test avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Workbooks.Open Filename:="etl.xls"
    Windows("etl.xls").Activate

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour Jpenja,

    Essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Windows(etl & ".xls").activate

  6. #6
    Invité
    Invité(e)
    Par défaut
    Excusez-moi a.dequidt,

    télescopage des réponses.

    Juste une précision, j'avais pensé que etl était une variable et donc a utiliser sans les " "

  7. #7
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    tu as raison jacques_jean, etl a l'air d'etre une variable, ta solution est préférable ^^

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Le classeur que tu ouvre, est-ce un nouveau classeur? car si c'est le cas il n'est pas encore enrégistrer et ne comporte pas encore l'extention .xls.
    J'ai tester avec une variable et ça fonctionne mais avec un NV classeur ça plante avec xls.
    A+

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut
    Merci encore, mais j'avais également essayé d'activer la fenêtre avant le classeur.J'ai également essayé de lui faire sélectionner une cellule particulière du classeur(il la sélectionne) pour voir lequel était actif, mais celà ne change rien.
    Je vous joint la totalité du code si celà peux aider.
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Private Sub Export_Tl()
     
    Dim etl As String
    Dim fin As String
    Dim données As String
    Dim typ As String
    Dim x As Single
     
    fin = "EMISSION BILLETS PAR VENTILATION"
    etl = Feuil1.TextBox2.Text
    x = 1
     
    Workbooks.Open ("z:\informatique\doris\" & etl)
    Windows(etl & ".xls").Activate
    Workbooks(etl & ".xls").Activate
    Worksheets(1).Cells(10, 1).Select
     
     
    For x = 10 To 5000
        If Feuil1.Range("a" & x).Value = "Type billet :" Then
            typ = Feuil1.Range("d" & x).Value
            x = x + 1
            While Feuil1.Range("a" & x).Value <> "Type billet :"
                Feuil1.Range("d" & x).Value = typ
            Wend
        End If
    Next x
    Worksheets(1).Cells.Select
    Worksheets(1).Cells.Sort key1:=Worksheets(1).Range("A1"), order1:=xlAscending
    Worksheets(1).Cells.Copy
    Windows("CRD.xls").Activate
    Sheets("Tl").Select
    ActiveSheet.Paste Destination:=Worksheets("Tl").Range("a1")
    Feuil2.Range("a1").Select
    Windows(etl & ".xls").Activate
    Windows(etl & ".xls").Close SaveChanges:=False
    Feuil1.Activate
    Feuil2.Activate
    x = 1
    While Feuil2.Range("a" & x).Value <> fin
        If Feuil2.Range("i" & x).Value = "=" Then
            données = Feuil2.Range("a" & x).Value
            Feuil2.Range("b" & x).Value = Mid(données, 1, 13)
        End If
    x = x + 1
    Wend
    Feuil1.Activate
    End Sub

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut
    Merci à vous trois,
    a l'attention de LeForestier, ce n'est pas un nouveau classeur.Celui ci est déjà enregistré sous un répertoire "z:\informatique\doris\".
    Le plus étrange c qu'il me sélectionne bien une cellule mais que le reste du code s'exécute sur l'autre feuille????

  11. #11
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    essaye un peu de cette façon...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    etl = Feuil1.TextBox2.Text & ".xls"
    x = 1
    'En supposant que ce classeur existe....
    Workbooks.Open ("z:\informatique\doris\" & etl)
     
    Workbooks(etl ).Activate
    Worksheets(1).Cells(10, 1).Select
    A+
    EDIT: répondu trop vite sans voir ton dernier poste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim FL1 as workSheets
    etl = Feuil1.TextBox2.Text & ".xls"
     
    Workbooks.Open ("z:\informatique\doris\" & etl)
    Workbooks(etl ).Activate
       set FL1 = Workbooks(etl ).Sheets("Feuil1")
       FL1.cells(x,y) ......

Discussions similaires

  1. Problème sur la recherche fulltext en v4 !
    Par poppa dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/05/2004, 23h06
  2. Problème sur fiche MDIchild
    Par nivet dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/01/2004, 08h07
  3. Problème sur GetPrivateProfileString ???
    Par Bordelique dans le forum Langage
    Réponses: 7
    Dernier message: 25/06/2003, 22h15
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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