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 :

macro supprimée suite remplacement fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut macro supprimée suite remplacement fichier
    Bonjour,

    Je vais essayer d'être clair.

    J'ai crée une macro qui s'éxecute à "BeforeClose" que j'ai mis en public
    C'est une macro de suppression de lignes.

    Mon souci vient de cette étape ci :

    Extraction de données sous Excel via Oracle.

    et enregistrement de ce fichier extrait par celui comportant la macro.

    Sauf que cette étape suppprime ma macro.

    Je suis novice en Vba.

    Pouvez vous m'expliquez pourquoi ça fait cela et les modalités pour éviter cette anicroche

    Merci de votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Pas sûr d'avoir bien compris. Peux-tu poster ton code ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut
    Voici :

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Option Explicit
     
    Public Sub Workbook_BeforeClose()
    Dim Base As String
    Dim Li As Integer
    Dim Lb As Integer
    Dim DernierI As Integer
    Dim DernierB As Integer
    Dim Plage As Range
    Dim Compte As Integer
     
    Set Plage = Sheets("Investissements Estimé").Range("B3:B31")
    Range("B3").Select
     
    For each cells.plage1
     
    Do While (IsEmpty(Plage))
    Compte = Compte + 1
     
    Loop
     
    'Détermine si le Fichier a fait déjà l'objet d'une affectation de Base
    If IsEmpty(Sheets("Investissements Estimé").Cells(3, 2)) Then
     
    'Affectation du nom de la Base
    Base = InputBox("Base en Nom")
     
    'Si non
    '' Recherche de la dernière ligne pour compter le nombre de ligne
    ''' afin d'incrémenter le nom de la Base
    DernierI = Sheets("Investissements Estimé").Columns(7).Find("Total", , , , xlByColumns, xlPrevious).Row
     
     
    'ligne de départ avant comptage
    Li = 3
     
    'Affectation du nom de la Base de l'onglet "Ivestissement Estimé" dans chaque cellule
    '' comptée avant la celle qui contient le mot "Total" en colonne 7
    Do While Li < DernierI
    Sheets("Investissements Estimé").Cells(Li, 2).Value = Base
    Li = Li + 1
    Loop
     
    ' Recherche de la dernière ligne de l'onglet "Estimé Budget" pour compter
    ''le nombre de lignes afin d'incrémenter le nom de la Base
    DernierB = Sheets("Investissements Budget").Columns(7).Find("Total", , , , xlByColumns, xlPrevious).Row
     
    'ligne de départ avant comptage
    Lb = 3
     
    'Affectation du nom de la Base de l'onglet "Ivestissement Budget" dans chaque cellule
    '' comptée avant la celle qui contient le mot "Total" en colonne 7
    Do While Lb < DernierB
    Sheets("Investissements Budget").Cells(Lb, 2).Value = Base
    Lb = Lb + 1
    Loop
     
     
    End If
    'Si oui n'affiche pas la boîte de Dialogue demandant le nom de la Base

    Je pense que le code n' a pas d'importance.

    Je vais repréciser les étapes :

    J'ai crée une macro sur un fichier Excel appelé "fcv.xls"

    J'extrait d'Oracle une information traduite sous Ecel.

    J'enregistre cette extraction Excel sous le nom "fcv.xls".

    Quand j'ouvre le fichier, la macro a dispru ou suupprimée

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    et enregistrement de ce fichier extrait par celui comportant la macro.
    Où ça, dans le code que tu as posté ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut
    Cela veut dire que chaque semaine que la personne qui extrait ce fichier, il faut qu'elle mette la macro à chaque fois. Sachant qu'elle ne connait pas Vba.

    Autant qu'elle fasse les étapes manuellement.

    Sachant que cette macro est fait pour un utilisateur lambda qui ne connaît pas Vba et lui faciliter ainsi les tâches.

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Tu n'as pas l'air de répondre à ce que je te demande. Pourquoi ne sépares-tu pas le fichier contenant la macro de celui recevant les données de l'import ?

Discussions similaires

  1. Macro Excel ouvre un fichier Word et supprime les styles
    Par peheff dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/07/2011, 17h47
  2. [XL-2007] plus de clic droit suite à un fichier avec macro
    Par Le Méthanier dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/04/2010, 22h49
  3. remplacer fichier DBF
    Par jeff06_2 dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/01/2005, 09h05
  4. Réponses: 4
    Dernier message: 24/09/2004, 10h17
  5. [VB6] Api pour supprimer dans un fichier INI
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/02/2003, 08h16

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