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 : ouvrir automatiquement .xls en vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 52
    Points
    52
    Par défaut Problème : ouvrir automatiquement .xls en vba
    Bonjour à tous

    j'ai un petit souci :

    J'ai un fichier excel qui tous les soirs se met à jour et s'enregistre sous avec la date du jour. J'ai rajouté un bout de code qui copie 4 cellules du premier fichier, ouvre un autre, recherche la bonne ligne en fonction de la date et colle les 4 cellules au bon endroit.

    Mon problème c'est qu'en pas à pas détaillé tout va bien, ça marche mais en auto ça marche pas, dès qu'il ouvre le nouveau fichier il s'arrète vu qu'il n'y a pas de code vb dans le second fichier

    code :

    dans workbook du premier fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub Workbook_Activate()
     
    'Application.OnTime TimeValue("22:00:00"), "feuil1.act"
     
    End Sub
    dans feuil1 du premier fichier

    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
     
    Public Sub act()
     
    Dim dat As Date, jour As Date
    Dim ligne As Integer
    Dim cell As Range
    Dim cell2 As Range
    Dim i As Integer
     
    Set cell = Workbooks("CTA.xls").Worksheets("feuil1").Range("A9")
    dat = cell.Value
    LancementTraitement
     
    Workbooks("CTA.xls").Worksheets("feuil1").Range("G9:J9").Copy
     
    Workbooks.Open ("s:\enregistrement\indicateur qualite\INDICATEUR SUIVI ERREUR CT ANALYSE.xls")
     
    Set cell2 = Workbooks("INDICATEUR SUIVI ERREUR CT ANALYSE.xls").Worksheets("feuil2").Range("C3")
     
    For i = 1 To 169
        If dat = cell2(i) Then ligne = cell2.Row
    Next i
     
    Workbooks("INDICATEUR SUIVI ERREUR CT ANALYSE.xls").Worksheets("feuil2").Range("D" & ligne + 1) _
    .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
            :=False, Transpose:=False
     
    ThisWorkbook.SaveAs "s:\enregistrement\ARCHIVAGE CTANALYSES\CTANALYSES " & Format(Date, "dd mm yy")
    Excel.Application.Quit
     
    End Sub
    Voilà si quelqu'un à un conseil ça m'arrangerais, je bloque...

    Merci d'avance

  2. #2
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Salut,

    Ya déjà un petit problème à ce niveau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set cell2 = Workbooks("INDICATEUR SUIVI ERREUR CT ANALYSE.xls").Worksheets("feuil2").Range("C3") 
     
    For i = 1 To 169 
        If dat = cell2(i) Then ligne = cell2.Row 
    Next i
    Cell2 correspond à une cellule unique C3

    donc cela paraît un peu dur de faire une boucle de 1 à 169 de cell2 non ?
    En plus tu compares un valeur "dat" et un range cell2 donc ça devrait te mettre une erreur à ce niveau...

    Je vais tester ton code et voir d'où cela peut venir

    @+

    Théo

  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 546
    Points
    15 546
    Par défaut
    Hello,

    Tu dis mettre la deuxième partie de ton code dans "Feuil1".
    Pourquoi ne pas le mettre dans un module ?

    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 52
    Points
    52
    Par défaut
    pour répondre à Theocourant,

    petit oubli pour faire la boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set cell2 = Workbooks("INDICATEUR SUIVI ERREUR CT ANALYSE.xls").Worksheets("feuil2").Range("C3:C172")
    For i = 1 To 169
        If cell2(i) = dat Then ligne = cell2(i).Row
    Next i
    comme ça ligne = le n° de la ligne où est cette date

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 52
    Points
    52
    Par défaut
    pour répondre à ouskelnor,

    cette appli a été créée par qqun d'autre et je fais juste rajouter qqes fonctions

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 52
    Points
    52
    Par défaut
    j'ai trouvé une soluce alternative, les deux fichiers sont placés ds le répertoire START d'excel comme ça qd excel s'ouvre les deux fichiers s'ouvrent et qd l'heure arrive, le code se lance et tout fonctionne.

    merci

  7. #7
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Comme il y a une solution, ce serait bien de cliquer sur le tag tout en bas à gauche.

    Merci d'avance

    Bonne continuation

    Théo

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

Discussions similaires

  1. [word 2003] problème insertion automatique
    Par irons dans le forum Word
    Réponses: 7
    Dernier message: 27/08/2008, 13h01
  2. [VBA-E] Problème Filtre automatique
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2007, 15h58
  3. [VBA-E] Ouvrir un PST sous VBA
    Par moute dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2006, 15h57
  4. Problème avec l'export en VBA
    Par ludvax dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 15h38
  5. Ouvrir automatiquement tous les fch. texte d'un repertoire
    Par metalimad dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/02/2005, 15h47

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