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é des macros MacOS/Win10- [XL-MAC 2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2025
    Messages : 2
    Par défaut Compatibilité des macros MacOS/Win10-
    Bonjour,
    Je cherche à développer des macros Excel Mac et PC dans lesquelles l'utilisateur sera amené à sélectionner un fichier dans une fenêtre système, type fso. La compatibilité nécessite de connaitre le système et adapter le développement. Quelqu'un s'et il intéressé à la chose.
    Merci de vos conseils avisés.

  2. #2
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 508
    Par défaut
    Bonjour,
    Cela doit pouvoir se faire avec une directive de compilation conditionnelle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #If Mac Then
    Debug.Print "Mac"
    #Else
    Debug.Print "Windows"
    #End If

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2025
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2025
    Messages : 2
    Par défaut
    Mreci bien, je vais noter ceci pour les développements futurs. je me pose la question de l'implémentation de cette solution dans une macro utilisant Fso justement. j'en fais une copie ci-dessous. Si vous avez une idée, je suis preneur. Merci encore

    Sub CollectData()
    Dim FolderPath As String
    Dim FSO As Object, SubFolder As Object, File As Object
    Dim MainWorkbook As Workbook, SourceWorkbook As Workbook
    Dim wsMain As Worksheet, wsSource As Worksheet
    Dim LastRowMain As Long, LastRowSource As Long
    Dim FilePath, strFile As String

    ' Définir le dossier principal et le nom de fichier
    FolderPath = ThisWorkbook.Path
    strFile = «*testing.xlsx*»

    ' Vérifier si le fichier de destination existe, sinon le créer
    On Error Resume Next
    Set MainWorkbook = Workbooks.Open(FolderPath & strFile)
    If Err.Number <> 0 Then
    Set MainWorkbook = Workbooks.Add
    MainWorkbook.SaveAs FolderPath & strFile
    End If
    On Error GoTo 0

    Set wsMain = MainWorkbook.Sheets(1)
    LastRowMain = wsMain.Cells(wsMain.Rows.Count, 1).End(xlUp).Row + 1

    ' Initialiser FileSystemObject
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder(FolderPath)

    ' Boucler sur les sous-dossiers
    For Each SubFolder In Folder.SubFolders
    ' Boucler sur les fichiers dans chaque sous-dossier
    For Each File In SubFolder.Files
    ' Vérifier si le fichier est un Excel et contient "coco" dans son nom
    If InStr(1, File.Name, "coco", vbTextCompare) > 0 And Right(File.Name, 5) = ".xlsx" Then
    ' Ouvrir le fichier source
    FilePath = File.Path
    Set SourceWorkbook = Workbooks.Open(FilePath)
    Set wsSource = SourceWorkbook.Sheets(1)

    ' Trouver la dernière ligne de la source
    LastRowSource = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row

    ' Copier la colonne A et coller à la suite
    wsSource.Range("A1:A" & LastRowSource).Copy
    wsMain.Cells(LastRowMain, 1).PasteSpecial Paste:=xlPasteValues
    LastRowMain = wsMain.Cells(wsMain.Rows.Count, 1).End(xlUp).Row + 1

    ' Fermer le fichier source
    SourceWorkbook.Close False
    End If
    Next File
    Next SubFolder

    ' Sauvegarder et fermer le fichier final
    MainWorkbook.Save
    MainWorkbook.Close

    ' Nettoyage
    Set wsMain = Nothing
    Set wsSource = Nothing
    Set MainWorkbook = Nothing
    Set SourceWorkbook = Nothing
    Set FSO = Nothing

    MsgBox "Extraction terminée !", vbInformation
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2024
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2024
    Messages : 43
    Par défaut
    Bonjour,

    Il faut oublier FSO pour un mac
    Cela fait appel à une API Windows qui n'existe pas sur iOS

    Salut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Migration vers office 2010 - Compatibilité des macros - Bis
    Par Shadock78 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/07/2011, 12h14
  2. [XL-2007] Migration vers office 2010 - Compatibilité des macros
    Par Shadock78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/06/2011, 11h14
  3. Compatibilité des Macro entre PC et Mac
    Par PPz78 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/05/2010, 09h26
  4. [E97] et [E2003] Compatibilité des macros
    Par ouisansdoute dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/11/2008, 10h29
  5. compatibilite des macros sous differentes version d'excel
    Par emillio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2008, 16h54

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