Impossible essayer exécuter une procédure

Résolu/Fermé
VBA Beginner XX - 17 juin 2016 à 00:12
 VBA Beginner XX - 17 juin 2016 à 16:55
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 !
A voir également:

5 réponses

jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698
17 juin 2016 à 00:22
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
Utilisateur anonyme
17 juin 2016 à 00:23
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
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
jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698
17 juin 2016 à 15:26
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
VBA Beginner XX
17 juin 2016 à 15:44
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
jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698 > VBA Beginner XX
17 juin 2016 à 16:16

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
VBA Beginner XX > jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024
17 juin 2016 à 16:43
Le 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
VBA Beginner XX
17 juin 2016 à 16:49
En revanche je ne comprends pas pourquoi ma méthode "with" et les points en fonctionnent pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VBA Beginner XX
17 juin 2016 à 16:55
Non c'est bon en fait !! Merci !
0