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 accessible pour tous et à tout moment


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Par défaut Macro accessible pour tous et à tout moment
    Bonjour à tous,

    Voici mon probleme... (je suis un peu noob en VB :s)
    J'ai un fichier dans lequel des dates et des numeriques sont erronés
    (ils sont issus d'un export venant d'oracle appli
    --> certains mois sont en anglais et le separateur decimal est le ' . ')

    J'ai donc fait une macro qui sélectionne les colonnes en question et
    remplace l'anglais par le français et le point par la virgule.

    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
     
    Sub CorrectFormat()
    '
    'CorrectFormat Macro
    '
     
    'Formatage
     
        Columns("H:H").Select
        Selection.Replace What:="JAN", Replacement:="janv.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="FEB", Replacement:="févr.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="MAR", Replacement:="mars", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="APR", Replacement:="avr.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="MAY", Replacement:="mai", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="JUN", Replacement:="juin", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="JUL", Replacement:="juil.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="AUG", Replacement:="août", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="SEP", Replacement:="sept.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="OCT", Replacement:="oct.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="NOV", Replacement:="nov.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.Replace What:="DEC", Replacement:="déc.", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    'Format de la date
        Columns("H:H").NumberFormat = "[$-40C]d-mmm-yyyy;@"
    'Virgule comme séparateur décimal
    'On remplace le point par un autre point (mais considérant qu'on
    ' tape un point, renplacement par la virgule)
     
    Application.UseSystemSeparators = False
    Application.DecimalSeparator = ","
     
    Columns("E:E").Select
        Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
    SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    End Sub
    Quand je la lance dans la procedure Workbook_Open() d'un fichier test
    tout se passe bien.
    Le problème c'est que je veux pouvoir la lancer à partir d'autres PC utilisateurs.
    Pourriez-vous m'indiquer la marche à suivre svp...?

    Merci d'avance.

    o/

  2. #2
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    Bonsoir,

    J'imagine que tu es sur un réseau. A mon avis la solution la plus sage pour ton problème est de créer une macro complémentaire XLA que tu vas stocker dans un répertoire dans le réseau, bien évidemment accessible par tous.

    Par ce biais, depuis n'importe quel poste, tu peux exécuter ta macro en ajoutons tout simplement la référence de la macro complémentaire dans le classeur active.

    NB: Je te conseille de retravailler ta macro pour l'optimiser au mieux. Privilègie plutôt une fonction dans ton cas.

    Bonne soirée

Discussions similaires

  1. Macro compliquée (pour moi en tout cas)
    Par agnostiko dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/12/2007, 18h56
  2. Macro accessible de tous les documents
    Par Yolak dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/04/2007, 10h15
  3. Macro Excel pour un import vers access
    Par Nicola dans le forum Access
    Réponses: 6
    Dernier message: 21/02/2007, 16h50
  4. [VBA-E] Macro pour tous fichiers Excel ?
    Par belfaigore dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2006, 19h25
  5. [C#]Catalogue accessible pour toute une appli
    Par Jinroh77 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 22/06/2006, 11h57

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