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 :

Compiler plusieurs onglets excel


Sujet :

Macros et VBA Excel

  1. #21
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je suppose que les boîtes de dialogues ne sont pas gérées par le MAC ou bien qu'il faut référencer une bibliothèque.
    IL faut espérer qu'un utilisateur averti de cette marque passe par ici et nous signale ce qu'il faut faire pour pallier ce problème.

    [EDIT]
    En faisant une recherche rapide, peut-être une réponse dans cette discussion http://www.developpez.net/forums/d42...et-filedialog/
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  2. #22
    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 Philippe,
    après quelques recherches de mon coté, Application.FileDialog(msoFileDialogFolderPicker) ne marche pas sur Mac et est propre à PC,
    la seule solution que j'ai trouvé pour l'instant est ce lien : http://www.rondebruin.nl/mac/mac017.htm
    Ces 2 liens peuvent être utile aussi http://www.rondebruin.nl/mac.htm et https://msdn.microsoft.com/fr-fr/lib...ffice.14).aspx au cas où la comunauté excel serait amené à proposer des macros multi-plateforme PC/Mac

    Je me suis trouvé une petite astuce pour que dans une macro on puisse déterminer si on est sur PC ou sur MAC; mais pour l'instant je n'ai pas eu de retour, si quelqu'un peut le tester pour moi sur PC ça serait cool
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PC_MAC()
        Plateforme = ThisWorkbook.Path
        If Plateforme = "*\*" Then MsgBox "Vous êtes sur PC" Else MsgBox "Vous êtes sur MAC"
    End Sub
    Si ce code ne marche pas, alors essayer celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub PC_MAC()
    Dim Plateforme$
        Plateforme = ThisWorkbook.Path
        If InStr(Plateforme, ":") <> 0 Then MsgBox "Vous êtes sur MAC" Else MsgBox "Vous êtes sur PC"
    End Sub
    Si les 2 fonctionnes dites le moi aussi

    Merci
    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 ;)

  3. #23
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    après quelques recherches de mon coté, Application.FileDialog(msoFileDialogFolderPicker) ne marche pas sur Mac et est propre à PC,
    la seule solution que j'ai trouvé pour l'instant est ce lien : http://www.rondebruin.nl/mac/mac017.htm
    Ces 2 liens peuvent être utile aussi http://www.rondebruin.nl/mac.htm et https://msdn.microsoft.com/fr-fr/lib...ffice.14).aspx au cas où la comunauté excel serait amené à proposer des macros multi-plateforme PC/Mac
    Merci pour ton retour

    Je me suis trouvé une petite astuce pour que dans une macro on puisse déterminer si on est sur PC ou sur MAC; mais pour l'instant je n'ai pas eu de retour, si quelqu'un peut le tester pour moi sur PC ça serait cool
    Le premier code ne renvoie pas la bonne valeur et pour cause, le test doit plutôt se faire avec Instr du moins si je devine que la hiérarchie des répertoires est séparée par des barres / en MAC alors que sous DOS c'est \
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PC_MAC()
        Plateforme = ThisWorkbook.Path
        If InStr(Plateforme, "\") Then MsgBox "Vous êtes sur PC" Else MsgBox "Vous êtes sur MAC"
    End Sub
    Il me semble qu'il est possible également de se baser sur les n° de versions de l'application qui je crois sont différents sur MAC et PC-DOS mais cela demande confirmation
    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Application.Version
    [EDIT]
    Il y a également la propriété OperatingSystem du même objet Application qui renvoie le nom et le numéro de version du système d'exploitation actif qui permettrait de savoir si on est sur un MAC ou sur Windows.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #24
    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
    Citation Envoyé par Philippe Tulliez Voir le message
    Le premier code ne renvoie pas la bonne valeur et pour cause, le test doit plutôt se faire avec Instr du moins si je devine que la hiérarchie des répertoires est séparée par des barres / en MAC alors que sous DOS c'est \
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PC_MAC()
        Plateforme = ThisWorkbook.Path
        If InStr(Plateforme, "\") Then MsgBox "Vous êtes sur PC" Else MsgBox "Vous êtes sur MAC"
    End Sub
    ok je garde la version avec InStr. par contre je ne sais pas si dans la hierachie des répertoire Windows il peut y avoir ":" au début de celle-ci (mis à part les "\")???
    Sur Mac nous avons les ":" mais pas les "/" sur Excel (par contre avec le système Mac on a bien : "/")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PC_MAC()
        Plateforme = ThisWorkbook.Path
        If InStr(Plateforme, ":") Then MsgBox "Vous êtes sur MAC" Else MsgBox "Vous êtes sur PC"
    End Sub
    Du coup quand l'on veut déterminer le chemin automatiquement, cela me donne dans le code (à partir de moment ou le code est multi plateforme ou qu'il propose une alternative multi plateforme) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PC_MAC()
        Plateforme = ThisWorkbook.Path
        If InStr(Plateforme, ":") Then H_Rep = ":" Else H_Rep = "\" 'H_Rep (hiérarchie répertoire), ou on pourrait aussi faire sepRep (séparation de répertoire) :) à la convenance de chacun
    End Sub
    Cela permet d'éviter des tests pour savoir sur quelle version d'Excel on se trouve, alors que le code peut être multi version (Multi version excel et Multi plateforme)

    Citation Envoyé par Philippe Tulliez Voir le message
    Il me semble qu'il est possible également de se baser sur les n° de versions de l'application qui je crois sont différents sur MAC et PC-DOS mais cela demande confirmation
    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Application.Version
    [EDIT]
    Il y a également la propriété OperatingSystem du même objet Application qui renvoie le nom et le numéro de version du système d'exploitation actif qui permettrait de savoir si on est sur un MAC ou sur Windows.
    Je confirme pour les 2 (testé et approuvé ). D'ailleurs, je crois que rondebruin en parle (cf voir dans les liens post #22 http://www.developpez.net/forums/d15...l/#post8589878)

    Merci d'avoir tester mon code

    PS : yotman on a plus de nouvelle de toi. Ton problème est résolu?? si c'est le cas clic sur

    Edit : petites corrections dans le texte
    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 ;)

  5. #25
    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,
    L'arborescence dans windows s'écrit bien tout le temps de cette manière : ???
    C:\xxxxxx\xxxxxxx\……
    ou selon drive
    D:\xxxxxx\xxxxxxx\……
    Si c'est le cas alors modification définitive du code du post précédent en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PC_MAC()
        Plateforme = ThisWorkbook.Path
        If InStr(Plateforme, "\") Then H_Rep = "\" Else H_Rep = ":" 'H_Rep (hiérarchie répertoire), ou on pourrait aussi faire sepRep (séparation de répertoire) :) à la convenance de chacun
    End Sub
    Pouvez-vous me le confirmer svp
    merci
    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. #26
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Salut !

    Oui c'est bien cela …

    {Lettre du disque dur}:\{Dossier}\{Sous Dossier}\{nom du fichier}.{extension du fichier}

    comme par exemple D:\DEV\VBA\Tablo3.xlsb

    Utiliser soit la propriété OperatingSystem soit la compilation conditionnelle #If Mac Then

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  7. #27
    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, il me semble qu'il y a Application.PathSeparator qui fonctionne sur Mac/PC ?

  8. #28
    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
    Merci bien pour vos réponses, je regarderai ce soir tout cela en détail.
    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 ;)

  9. #29
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, il me semble qu'il y a Application.PathSeparator qui fonctionne sur Mac/PC ?
    Oui bien sûr ‼

    En plus je l'ai déjà utilisé à plusieurs occasions …

  10. #30
    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
    je confirme je viens de l'essayer il me donne bien les ":" pour Mac

    Edit : d'ailleurs c'est plus rapide car plus besoin de condition
    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 ;)

  11. #31
    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
    je viens d'essayer ton code Marc : #If Mac Then … sur ma version d'excel il me donne la bonne réponse
    Qu'en est il sur PC ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Mac_PC_1()
    #If Mac Then
        MsgBox "MAC"
    #Else
        MsgBox "PC"
    #End If
    End Sub
    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 ;)

  12. #32
    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, sur PC il renvoie PC.

    Sinon il y a aussi par exemple sys = UCase$(Left$(Application.OperatingSystem, 3)) qui renvoie "WIN" ou "MAC" suivant le système. J'ai retrouvé ça sur un fichier datant de 2000 ( époque ou je créais sur PC pour utilisation sur du Mac : masochisme ? , pas vu de Mac depuis )

  13. #33
    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
    Super kiki29 merci pour ta réponse
    c'est bien de connaitre les différentes possibilités, ça me servira
    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 ;)

  14. #34
    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
    Re, tu trouveras ici des choses concernant les différences Excel Mac / Excel Windows.

  15. #35
    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
    Merci kiki29 ,
    j'avais mis un lien aussi de Ron un peu plus haut dans les posts en faisant une recherche
    le but de mes questions ici c'était de pouvoir mettre un chemin automatique que l'on soit sur PC ou MAC sans forcément écrire des lignes de codes comme par exemple : Application.PathSeparator (cité plus haut)
    dans tous les cas c'est très bien que tout le monde puisse voir les différentes possibilités,
    je te remercie d'y avoir pensé et d'avoir mis le lien
    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 ;)

Discussions similaires

  1. [AC-2010] Transfert de recordset Access dans plusieurs onglets Excel
    Par kesamba dans le forum IHM
    Réponses: 2
    Dernier message: 13/06/2014, 16h46
  2. SSIS avc plusieurs onglets excel
    Par tomisupertramp dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/03/2012, 17h19
  3. [ODS] Exporter proc freq dans plusieurs onglets excel
    Par the_special_one dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 15/03/2012, 16h28
  4. Importer plusieurs onglets Excel vers 1 Table Access
    Par the cleaner dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/02/2009, 11h36
  5. Export requete sur excel sur plusieur onglets
    Par Renardo dans le forum Access
    Réponses: 10
    Dernier message: 26/01/2007, 17h13

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