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 :

Interagir avec un XLS sans l'ouvrir [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut Interagir avec un XLS sans l'ouvrir
    Bonsoir à tous,

    Voilà, j'ai développé un fichier Excel (XLSM) qui agit sur plusieurs fichiers TXT (prévus pour plusieurs centaines), Donc, ce XLSM peut être ouvert par plusieurs personne à la fois en lecture seul...

    Mais j'aimerais qu'il écrive dans un autre XLS le temps passé par personne ( Fichier Temps Passé.XLS avec des feuilles nommé par le nom de l'ordinateur utilisé)...

    Est-on obligé d'utiliser ADOBD pour ça (parce que c'est du SQL et j'y entrave que-dalle...), car je vais devoir créer des feuilles pour les nouveaux arrivant, Date et heure d'ouverture ( Now() ) et de même pour la fermeture du XLSM...
    J'avais écris çà, mais ça ne marche que dans le XLSM ouvert en lecture/écriture...
    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
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Worksheets("Saisie").Select
      Lign = 1
      Do While Worksheets("Config").Cells(Lign, 1).Value <> ""
        Lign = Lign + 1
      Loop
      Worksheets("Config").Cells(Lign - 1, 3).Value = Now()
      Worksheets("Config").Cells(Lign - 1, 4).FormulaR1C1 = "=RC[-1]-RC[-2]"
      Worksheets("Config").Cells(Lign - 1, 4).NumberFormat = "[h]"" h ""mm"
      ActiveWorkbook.Save
    End Sub
     
    Private Sub Workbook_Open()
      Worksheets("Saisie").Select
      Lign = 1
      Do While Worksheets("Config").Cells(Lign, 1).Value <> ""
        Lign = Lign + 1
      Loop
      Worksheets("Config").Cells(Lign, 1).Value = Environ("COMPUTERNAME")
      Worksheets("Config").Cells(Lign, 2).Value = Now()
      ActiveWorkbook.Save
    End Sub
    J'aimerai faire çà dans un classeur fermé et avec une feuille pour chaque "Environ("COMPUTERNAME")"

    Si quelqu'un a un tuto là-dessus (car je n'en n'ai pas trouvé) ou qu'il en a fait un exemple, je suis preneur...

    Bon week-end à tous...

    Denis...

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour.

    Jette un œil par là:

    http://excel.developpez.com/faq/?pag...lasseursFermes

    http://frederic.sigonneau.free.fr/Ado.htm

    Il y a quelques exemples de zigonnage avec un classeur fermé

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, auxquels on peut ajouter : Lire et écrire dans les classeurs Excel fermés

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour à tous

    Ce code- sans ADO- à adapter indique dans un fichier Txt qui et quand qqn a ouvert le classeur et l'a fermé
    La diiférence du temps d'utilisation peut se faire en manipulant la variable "cafte"

    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
     
    Option Explicit
    Const fichier As String = "D:\documents\bigbrother.txt" 'A ADAPTER AU CONTEXTE
    Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
    (ByVal lpBuffer As String, _
    nSize As Long) As Long
    '-----
    'A partir d'une démo de @+Thierry pour XLD(octobre 2006)
    Private Sub Workbook_Open()
    Dim lpBuff As String * 25
    Dim retour As Long
    Dim utilisateur As String, cafte As String
     
    retour = GetUserName(lpBuff, 25)
    utilisateur = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
    cafte = "Ouvert à : " & Format(Now, "dd/mm/yyyy hh:mm:ss") & _
    vbTab & "par : " & utilisateur
    Open fichier For Append As #1
    Print #1, cafte
    Close
    End Sub
    '----
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim lpBuff As String * 25
    Dim retour As Long
    Dim utilisateur As String, cafte As String
    retour = GetUserName(lpBuff, 25)
    utilisateur = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
    cafte = "Fermé à  : " & Format(Now, "dd/mm/yyyy hh:mm:ss") & _
    vbTab & "par : " & utilisateur
    Open fichier For Append As #1
    Print #1, cafte
    Close
    End Sub

  5. #5
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Salut tout le monde et merci, je vais voir les liens (qui pointent tous sur du ADOBD) pour faire mon petit bout de programme pour gérer les cadences...

    Je ne bosserais pas dessus ce week-end, pas le temps, mais je m'y plongerais dès lundi matin...

    Merci encore à tous,

    Denis...

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    qui pointent tous sur du ADOBD ???

    Ah bon ?
    excuse moi d'avoir essayé de t'aider; je ne recommecerai plus.

  7. #7
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Re, j'ai pris 5 minutes pour recopier le code de Michel_M, après une petite modification (chemin, disposition dans le TXT...) ça fonctionne nikel...

    C'est vrai que plutôt de m'embéter avec un fichier Excel, des TXT sont impécables...

    Merci encore à tous pour vos aides...

    Denis...

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

Discussions similaires

  1. [XL-2003] Ajout code VBA dans fichiers xls sans les ouvrir
    Par PapouDomi dans le forum Excel
    Réponses: 2
    Dernier message: 14/12/2014, 19h19
  2. Enregistrer un fichier .txt en .xls sans l'ouvrir
    Par renaud7 dans le forum VBScript
    Réponses: 5
    Dernier message: 08/12/2009, 11h30
  3. Ouvrir outlook express avec pièce jointe sans l'envoyer
    Par damien27000 dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/01/2009, 10h38
  4. Modification d'un xls sans l'ouvrir
    Par moicwill dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/07/2006, 18h54
  5. [VBA-E] ouvrir un fichier .xls sans executer les macro
    Par lae_t2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2003, 18h07

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