Impossible essayer exécuter une procédure

Résolu
Bonjour,

Impossible de lancer ma procédure qui s'arrête avec le message erreur : "Erreur de compilation : type par l'utilisateur non défini". Je veux juste l'exécuter de temps en temps en l'écrivant pour être sûr de ce que je fais.

Le problème est que cela s'arrête (surlignage jaune) dès la première ligne de mon code où il y a simplement :

Sub NomProcédure ()

Je ne comprends donc pas le message d'erreur ...

Merci !

5 réponses

  1. En revanche je ne comprends pas pourquoi ma méthode "with" et les points en fonctionnent pas.
    1. En réalité, je n'ai écris que ceci (comme l'arrêt était fait sur le sub, je pensais que l'erreur ne portait que là-dessus, ce n'est pas vrai ?), la procédure n'est pas finie bien sur, je souhaite piloter excel depuis vba access :
      Sub ImportBG()
      
      
      Dim xlApp As Excel.Application
      
      ' Créer un objet Excel
      ' (ce qui équivaut à démarrer Excel à distance)
      Set xlApp = CreateObject("Excel.Application")
      
      With xlApp
         ' Rendre Excel visible
          .Visible
      
          Dim FiletoOpen As String
          
                   'récupération du nom et du chemin du fichier 'POSS BEUG CAR XLS ET MTN XLSX
                  FiletoOpen = .Application.GetOpenFilename("xls Files (*.), *.xls")
                  .Workbooks.Open " filetoopen"
          
                  
        
      
      
      End With
      
      
      End Sub
      


      EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici :ICI

      Merci d'y penser dans tes prochains messages.
      1. Modérateur
        Heu.. pour commencer .... place les déclarations de tes variables AU DEBUT de ta sub (avant toute autre instruction)

        Par exemple :
        Sub ImportBG()
         Dim FiletoOpen As String
         Dim xlApp As Excel.Application
        

        et pas n'importe où dans ton code....

        Pour le code.. essaye un truc du genre : ( nb : je n'ai pas d'access sous la main pour tester)
        Sub ImportBG()
        
            Dim FiletoOpen As String
            Dim xlApp As Excel.Application
        
            ' Créer un objet Excel
            ' (ce qui équivaut à démarrer Excel à distance)
            Set xlApp = CreateObject("Excel.Application")
        
           ' Rendre Excel visible
            xlApp.Visible = True
           
            'récupération du nom et du chemin du fichier 'POSS BEUG CAR XLS ET MTN XLSX
            FiletoOpen = xlApp.Application.GetOpenFilename("xls Files (*.), *.xls")
            xlApp.Workbooks.Open FiletoOpen
                        
        End Sub
        
      2. J'ai essayé et toujours le même problème ... J'ai l'impression que c'est l'ouverture d'Excel à distance qui beug.
      3. Modérateur
        @VBA Beginner XX

        l'ouverture d'Excel à distance qui beug.

        Qu'appeles tu " à distance " ???

        J'ai testé ce code depuis un excel .. et il marche...
        Après.. depuis access je n'en sais rien !
      4. @jordane45Le code fonctionne aussi en VBA Excel mais pas VBA Access ... D'où le fait d'être depuis Access pour pitoler l'ouverture d'Excel à distance qui semble être le problème !
    2. Bonjour,

      Il ne doit pas y avoir d'espace entre le dernier caractère
      du nom de la procédure et la parenthèse gauche :

      Sub NomProcédure()
      End Sub
      

      Cordialement.  😊
       
      1. Modérateur
        Bonjour

        tu peux nous montrer le code complet ?
        De plus.. ne mets pas de caractères accentués dans le nom de ta procedure ni dans le nom de tes variables