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 :

Compatibilité macro excel 365 vers excel mac 2016


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    entrepreneur
    Inscrit en
    Mai 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : entrepreneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 1
    Par défaut Compatibilité macro excel 365 vers excel mac 2016
    Bonjour,
    J'ai créé un tableau excel pour un suivi d'activité. (DEVIS, FACTURATION, etc...). Il sera en lien avec des documents word . pour le moment j'ai fait la partie DEVIS. lorsque je double clique dans une cellule de la colonne A où figure les numéros de devis, un document word s'ouvre et se remplit avec les infos présentes dans les cellules de la même ligne entre autre.
    Quand j'essaie d'ouvrir ceci depuis un mac, rien ne fonctionne. Quelqu'un aurait il les compétences pour adapter le code ci dessous et m'éclairer sur les différences du coup.


    ci dessous le début du code


    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    If Not Application.Intersect(Target, Range("A2:a1000")) Is Nothing Then
     
    MsgBox ("salut" & Target & " " & ThisWorkbook.Path)
    Dim D1 As String, D1a As String, D2 As String, D2a As String, D3 As String, D3a As String
    D1 = InputBox("Description ligne 1")
    D1a = InputBox("quantité ligne 1")
    D2 = InputBox("Description ligne 2")
    D2a = InputBox("quantité ligne 2")
    D3 = InputBox("Description ligne 3")
    D3a = InputBox("quantité ligne 3")
     
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    'Dim repert As String
     
    repert = Thisworbook.Path & "\"
    Set WordApp = CreateObject("word.application") 'ouvre session word et le fichier voulu
    Set WordDoc = WordApp.Documents.Open(repert & "devisEURL.docx", ReadOnly:=False) 'ouvre document word
    WordApp.Visible = True
     
     
    WordDoc.Bookmarks("signet2").Range.Text = Target 'n° devis
    WordDoc.Bookmarks("signet3").Range.Text = Target.Offset(0, 1) 'date devis
    WordDoc.Bookmarks("signet4").Range.Text = Target.Offset(0, 2) ' client
    WordDoc.Bookmarks("signet5").Range.Text = Target.Offset(0, 3) ' nom de projet
    WordDoc.Bookmarks("signet6").Range.Text = D1 ' description ligne 1
    WordDoc.Bookmarks("signet7").Range.Text = Target.Offset(0, 5) ' montant unit
    WordDoc.Bookmarks("signet8").Range.Text = Target.Offset(0, 6) ' TVA
    WordDoc.Bookmarks("signet9").Range.Text = Target.Offset(0, 5).Value + Target.Offset(0, 6).Value 'TOTAL
     
     
    WordDoc.Bookmarks("signet10").Range.Text = Application.VLookup(Target.Offset(0, 2), Sheets("CLients").Range("B2:R100"), 2, False) ' adresse 1 client
    WordDoc.Bookmarks("signet12").Range.Text = Application.VLookup(Target.Offset(0, 2), Sheets("CLients").Range("B2:R100"), 3, False) ' CP client
    WordDoc.Bookmarks("signet13").Range.Text = Application.VLookup(Target.Offset(0, 2), Sheets("CLients").Range("B2:R100"), 4, False) ' ville client
    WordDoc.Bookmarks("signet14").Range.Text = Application.VLookup(Target.Offset(0, 2), Sheets("CLients").Range("B2:R100"), 17, False) ' conditions paiement client
     
    End If
    End Sub
    Merci d'avance

  2. #2
    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, peut-être qqs infos ici

    P.-S. : Il est souhaitable de baliser son code

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par julien030881 Voir le message
    Quand j'essaie d'ouvrir ceci depuis un mac, rien ne fonctionne.
    "Rien ne fonctionne", ça n'est pas très explicite comme explication de dysfonctionnement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    repert = Thisworbook.Path & "\"
    Je n'ai (quasiment) jamais utilisé de Mac mais il me semble que le séparateur de répertoire d'un chemin n'est pas l'antislash.

    Je te conseille d'utiliser la propriété OperatingSystem de Application pour déterminer si l'application tourne sous MacOS ou Windows et de modifier les morceaux de codes qui ne sont pas commun en séparant les deux dans une structure If.
    https://msdn.microsoft.com/library/a...ice.15%29.aspx

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    pour compléter Application.PathSeparator te donne le séparateur a utiliser.
    eric

  5. #5
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    Les séparateurs :
    • Excel Mac 2011 : Séparateur => ":"
    • Excel Mac 2016 : Séparateur => "/"
    • Excel PC : Séparateur => "\"

    Comme le précise Eric (que je salue) l'utilisation dans le cas d'un chemin pouvant être déterminé automatiquement,
    en l’occurrence grâce à ThisWorkbook.Path, alors autant utilisé sa suggestion :
    Application.PathSeparator

    Ce qui peut être fait pour moins de lourdeur par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Sep as String
       Sep = Application.PathSeparator
    ' puis utilisation de Sep dans les chemins, là où c'est nécessaire
    Maintenant sur Mac, il faut éviter tout ce qui est propre au PC, comme les ActiveX (qu'on peut trouver dans des useform parfois) ou les DLL …

    Concernant l'ouverture de Word via Excel, je ne l'ai jamais fait, je ferai un test quand j'aurais un moment
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set WordApp = CreateObject("word.application") 'ouvre session word et le fichier voulu
    Set WordDoc = WordApp.Documents.Open(repert & "devisEURL.docx", ReadOnly:=False) 'ouvre document word
    Perso, pour ouvrir un document Word, je préfère passer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set WordDoc = GetObject(repert & "devisEURL.docx")

Discussions similaires

  1. Piloter powerpoint 365 depuis excel 365 sur Mac High Sierra
    Par seb-aemc dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/03/2018, 15h27
  2. convertisseur de macro vba excel 2003 vers excel 2010
    Par olivanto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/01/2017, 00h17
  3. Macro d'export vers Excel
    Par Siefch1 dans le forum QlikView
    Réponses: 4
    Dernier message: 26/03/2013, 12h09
  4. convertisseur de macro vba excel 2003 vers excel 2010
    Par mauguin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/10/2011, 18h13
  5. Conversion macro Lotus 123 vers Excel
    Par Ismaël(l) dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2007, 08h43

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