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. 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
    0
    1. 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.  😊
       
      0
      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.
        0
        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
          
          0
        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.
          0
        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 !
          0
        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 !
          0
      2. En revanche je ne comprends pas pourquoi ma méthode "with" et les points en fonctionnent pas.
        0
        1. Non c'est bon en fait !! Merci !
          0