Bonjour,
ce code fonctionne dans excel
sub Excel_test()
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
Cells(1, 10) = ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
depuis Solidworks j’ai cette erreur
Private Sub UserForm_Initialize()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
label3= ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
si quelqu’un a une idée
             
            
              
            
                
           
          
            
            
              Bonjour ;
`Dim xlApp As Excel.Application
Set xlApp = New Excel.Application`
Voir (pour plus d’informations) :
  
  
    
  Compte tenu de l’omniprésence de Microsoft Excel dans les services d’ingénierie du monde entier, il n’est pas surprenant que notre tutoriel « Utilisation de Microsoft Excel avec l’API SolidWorks », disponible pour les membres Premium, soit l’un de nos plus populaires. Bien que je ne vais pas couvrir...
  
    Temps de lecture estimé : 7 minutes 
  
   
  
    
    
  
  
 
             
            
              3 « J'aime » 
            
            
                
           
          
            
            
              j’ai rajouté
Dim xlApp As Excel.Application
cela ne fonctionne pas plus
             
            
              
            
                
           
          
            
            
              Bonjour,
Sauf erreur de ma part, en VBA, il n’est pas possible d’accéder au contenu d’un fichier Excel sans l’ouvrir.
             
            
              1 « J'aime » 
            
            
                
           
          
            
            
              je viens de tester c’est possible sur excel, je ne trouve pas la correspondance avec Solidworks
sub Excel_test()
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
Cells(1, 10) = ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
 
            
              
            
                
           
          
            
            
              et en remplaçant
Cells(1, 10) = ExecuteExcel4Macro(.....
par
Set xlapp = CreateObject("Excel.application")
Label13 = xlapp.ExecuteExcel4Macro(.....
des pistes relativement identiques ici :
  
  
      
     
  Excel, VBA, Excel-4.0 
   
  
    
    
  
  
 
             
            
              1 « J'aime » 
            
            
                
           
          
            
            
              Je viens de tester, donc ça fonctionne effectivement sur Excel mais sur SW non (erreur à la ligne range).
             
            
              
            
                
           
          
            
            
              essayez avec
  
  
    
  Correction de l’erreur dans la macro qui se connecte à la base de données (e.g. SQL, MySql, Oracle, MS Access etc.) ou à toute autre source de données et ne lit pas/écrit les valeurs ou affiche une erreur
   
  
    
    
  
  
 
mais aussi :
  
  Merci Yves.T , 
Il me maquait la référence « Microsoft Excel XX.X Object library ». 
Comment fait-on pour savoir quelles références sont nécessaires pour quel code ?? 
  
Sinon, pour alimenter ma Combobox j’ai utilisé le code suivant :  
Sous-marin privé UserForm_Initialize()
Dim i As Octet
Dim e As String
i = 1
Faire
    ComboBox1.AddItem ExecuteExcel4Macro("'C :\Documents and Settings\mimi\dossier\excel\[ClasseurBase.xlsx]Feuil1' ! R » & i & « C1 »)
    i = i + 1
    e = ExecuteExcel4Macro("'C :\Documents et ...   
 
             
            
              
            
                
           
          
            
            
              C’est pas tant la ligne ExecuteExcel4Macro qui plante mais l’appel à Range.
             
            
              
            
                
           
          
            
            
              Le message d’erreur est le suivant, comme cité
             
            
              
            
                
           
          
            
            
              Bonjour,
La méthode range n’étant pas gérée via la version de vba intégrée à SW il reste deux solutions (pas testée la seconde à ce stade):
Créer une boucle avec une fonction de récupération de chaque colonne/ligne souhaitées, voir ExecuteExcel4Macro - Communauté Microsoft 
 
Essayer les fonctions de type ADODB.Connection, voir  Lire et écrire dans les classeurs Excel fermés (developpez.com) 
 
 
Je n’ai donc testé que la première qui fonctionne correctement.
             
            
              2 « J'aime » 
            
            
                
           
          
            
            
              peux tu mettre la macro adaptée, je n’y arrive pas avec la solution 1
             
            
              
            
                
           
          
            
            
              Tu peux juste m’indiquer sur quelle plage tu veux récupérer les valeurs?  (type A1:C2 par exemple)
             
            
              
            
                
           
          
            
            
              voila mon code original qui ne fonctionne pas, H2
Private Sub UserForm_Initialize()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
label3= ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
 
            
              
            
                
           
          
            
            
              Pour bien comprendre, tu veux juste la cellule H2?
             
            
              
            
                
           
          
            
              
                Cyril_f  
              
                  
                    Septembre 5, 2024, 10:38 
                   
                  17 
               
             
            
              Dans ce cas, beaucoup plus simple:
label3= ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & "R2C8") 'URL entrée
 
            
              1 « J'aime » 
            
            
                
           
          
            
            
              super, ça fonctionne
voici un autre exemple pour ceux que ça intéresse
Label2 = ExecuteExcel4Macro("'" & url & "[" & Fichier_Excel & "]Liste'!" & "R11C8") & "\" & _
         ExecuteExcel4Macro("'" & url & "[" & Fichier_Excel & "]Liste'!" & "R11C7") & _
         "-STEP\"  'URL sortie
 
            
              2 « J'aime » 
            
            
                
           
          
            
              
                Maclane  
              
                  
                    Septembre 5, 2024, 12:53 
                   
                  19 
               
             
            
              C’est tout de même etrange que la fonction " ExecuteExcel4Macro" accepte des coordonnée de tableau type « Row »+« Column » mais pas le "Range…Les joies de l’informatique et ses mystères… 
             
            
              1 « J'aime » 
            
            
                
           
          
            
            
              Comme je l’ai dit je pense que l’API SW est sur des fonctions 64 bit là où dans Excel c’est du 32.
             
            
              2 « J'aime »