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 :

probleme de macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 53
    Par défaut probleme de macro
    J'ai une macro comme ceci, je travaille beaucoup avec des PC mais là j'ai un MAC qui n'accepte par la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left(Dir(CheminBdd & "BDD.*"), 4) <> "BDD." Then
    Pouvez vous me dire pourquoi et comment contourner le problème pour que ma macro fonctionne sous MAC


    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
    61
    62
     
    Sub Transfert()
    Dim LigneCible As Long, ligneOrigine As Long
    Dim LigneFin As Long
    Dim Données As Variant
    Dim Nom As String
    Dim Mois As String
    Dim Trimestre As String
    Dim Année As String
    Dim Nbjourstrav As String
    Dim Nbconges As String
    Dim Nbformation As String
    Dim Pointeur As Long
    Dim CheminBdd As String
    'Lecture des infos dans la fiche de saisie
    Nom = ThisWorkbook.Worksheets("fiche_activite").Range("B3").Value
    Mois = ThisWorkbook.Worksheets("fiche_activite").Range("E3").Value
    Trimestre = ThisWorkbook.Worksheets("fiche_activite").Range("E4").Value
    Année = ThisWorkbook.Worksheets("fiche_activite").Range("E5").Value
    Nbjourstrav = ThisWorkbook.Worksheets("fiche_activite").Range("D6").Value
    Nbconges = ThisWorkbook.Worksheets("fiche_activite").Range("D8").Value
    Nbformation = ThisWorkbook.Worksheets("fiche_activite").Range("D10").Value
    LigneFin = ThisWorkbook.Worksheets("fiche_activite").Range("A2000").End(xlUp).Row
    Données = ThisWorkbook.Worksheets("fiche_activite").Range("A14:e" & LigneFin)
     
    'Ecriture dans l'onglet Base de données BDD
     
    ' Le chemin sera à modifier en fonction de l'application
    CheminBdd = "u:/test/"
    If Left(Dir(CheminBdd & "BDD.*"), 4) <> "BDD." Then
      Workbooks.Add
      Worksheets.Add
      ActiveSheet.Name = "BDD"
      Worksheets("BDD").Range("A1") = "Nom"
      Worksheets("BDD").Range("B1") = "Mois"
      Worksheets("BDD").Range("C1") = "Trimestre"
      Worksheets("BDD").Range("D1") = "Année"
      Worksheets("BDD").Range("E1") = "Nbjourstrav"
      Worksheets("BDD").Range("F1") = "Nbconges"
      Worksheets("BDD").Range("G1") = "Nbformation"
     
      ThisWorkbook.Worksheets("fiche_activite").Range("A13:E13").Copy Destination:=Worksheets("BDD").Range("H1:L1")
      ActiveWorkbook.SaveAs Filename:=CheminBdd & "BDD.xls"
     Else
      Workbooks.Open Filename:=CheminBdd & "BDD.xls"
    End If
    LigneCible = Workbooks("BDD.xls").Worksheets("BDD").Range("A65535").End(xlUp).Row + 1
    ' Boucle répétitive pour le nom
    For Pointeur = LigneCible To LigneCible + UBound(Données) - 1
     Range("BDD!A" & Pointeur) = Année
     Range("BDD!B" & Pointeur) = Trimestre
     Range("BDD!C" & Pointeur) = Mois
     Range("BDD!D" & Pointeur) = Nom
     Range("BDD!E" & Pointeur) = Nbjourstrav
     Range("BDD!F" & Pointeur) = Nbconges
     Range("BDD!G" & Pointeur) = Nbformation
    Next Pointeur
    'Copie globale de la zone saisie
    Workbooks("BDD.xls").Worksheets("BDD").Range("H" & LigneCible & ":L" & LigneCible + UBound(Données) - 1) = Données
    Workbooks("BDD.xls").Close True
    MsgBox "Merci la fiche du mois de " & Range("D3") & " a été transférée à Véronique"
    End Sub
    Merci d'avance pour vos réponses
    vivi

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Je ne connais pas les MAC, mais sur un PC un chemin contient des Anti-Slash et non des Slash

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    pour connaître le séparateur voulu, tu peux te servir de la propriété PathSeparator de l'objet Application. dans la fenêtre d'exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ?Application.PathSeparator
    Pour une portabilité constante du code un truc du genre :


    Et il y a Mac ...et Mac selon l'OS le séparateur diffère je crois...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub gogo()
    Dim strSepparateur
     
    strSepparateur = Application.PathSeparator
    Workbooks.Open Filename:="D:" & strSepparateur & "toto.xls"
     
    End Sub
    cordialement,

    Didier

  4. #4
    Membre averti
    Profil pro
    Excusez mon français, ce n'est pas ma langue de base
    Inscrit en
    Août 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Excusez mon français, ce n'est pas ma langue de base

    Informations forums :
    Inscription : Août 2011
    Messages : 50
    Par défaut
    Bonjour,

    Je travail sur MAC et c'est une citation du code qui fonctionne bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    repertoire = "gestion:Dépenses:"     
    Workbooks.Open "gestion:Dépenses:BD_consolidees.xls"
    cordialement

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Gogia tu es sous quel OS ?

    cordialement,

    Didier

  6. #6
    Membre averti
    Profil pro
    Excusez mon français, ce n'est pas ma langue de base
    Inscrit en
    Août 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Excusez mon français, ce n'est pas ma langue de base

    Informations forums :
    Inscription : Août 2011
    Messages : 50
    Par défaut
    Citation Envoyé par Ormonth Voir le message
    Gogia tu es sous quel OS ?
    Bonjour,

    J'utilise Microsoft Office 2011 pour MAC.

    cordialement,
    Gogia

Discussions similaires

  1. Probleme lancement macro excel 2007
    Par nico63vb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2007, 13h55
  2. Problème de macro
    Par emmablue dans le forum Access
    Réponses: 2
    Dernier message: 19/07/2006, 15h00
  3. [VBA-excel]Probleme de macro pour creer un graphique.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2006, 15h42
  4. [VBA-E] Probleme couleur macro
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/09/2005, 11h11
  5. probleme de macro
    Par wxcnbv dans le forum C
    Réponses: 2
    Dernier message: 14/07/2004, 21h22

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