VBA

Résolu/Fermé
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 6 janv. 2010 à 13:16
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 6 janv. 2010 à 14:29
Bonjour,

Une personne m'a créé un code permettant d'aller chercher une image dans un dossier.
Ce dernier marchait sur un poste or je viens de changer de pc et la macro suivante ne marche plus:

Private Sub CommandButton2_Click()
Sheets("données").Select
Range("L1").Select
Selection.ClearComments

With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = CurDir
.Filters.Clear
.Filters.Add Description:="Images", Extensions:="*.jpg", Position:=1
.Title = "Choix de l'image"
If .Show = -1 Then TheFile = .SelectedItems(1) Else TheFile = 0
End With
If TheFile = 0 Then
MsgBox ("aucun fichier image choisi")
[L1] = "..."
Sheets("accueil").Select
Exit Sub
End If
Range("l1").AddComment
[L1].Comment.Shape.Fill.UserPicture TheFile
[L1] = "Photo"
Range("l1").Comment.Visible = True
Range("l1").Comment.Shape.Select True
Selection.ShapeRange.ScaleWidth 3.77, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 4.57, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleWidth 0.94, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 1.07, msoFalse, msoScaleFromTopLeft
Sheets("accueil").Select
End Sub


Le bug vient de la partie soulignée en gras: Erreur de compilation: Projet ou bibliothèque introuvable


Pouvez-vous m'aider?

5 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
6 janv. 2010 à 13:56
Re-
Sur Excel, CurDir retourne le répertoire courant. Peut être y a t'il un souci avec ce chemin.
Tente une "approche indirecte" du style (en gras les modifs apportées à ton code) :

Private Sub CommandButton2_Click() 
Dim chemin as string
chemin = "C:\Tartempion\ces_documents\blablabla\fonctionnaire"
Sheets("données").Select 
Range("L1").Select 
Selection.ClearComments 

With Application.FileDialog(msoFileDialogFilePicker) 
.AllowMultiSelect = False 
.InitialFileName = chemin 
etc etc...
0
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 365
6 janv. 2010 à 14:02
Problème maintenant avec le terme TheFile dans ma ligne de code. Même message d'erreur


With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = chemin
.Filters.Clear
.Filters.Add Description:="Images", Extensions:="*.jpg", Position:=1
.Title = "Choix de l'image"
If .Show = -1 Then TheFile = .SelectedItems(1) Else TheFile = 0
End With
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
6 janv. 2010 à 14:16
Que signifie TheFile? Que vient il faire ici?
A mon avis c'est une variable, variable qui n'a pas été déclarée
Ajoute ceci en début de macro :
Dim TheFile as String

et retente
0
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 365
6 janv. 2010 à 14:25
Nickel ça marche.

Par contre petite question qui n'a aucun rapport.

Dans toutes mes macros auparavant, lorsque je mettais par exemple:

[A1]= "Valeur"

Ca marchait

Alors que maintenant VBA me lance le débogeur et je suis obligé de mettre à la place

Sheets ("Données").Range ("A1").Value = "Valeur"

Cela vient du fait qu'il ne reconnaît plus la feuille concernée dans ma macro?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
6 janv. 2010 à 14:27
franchement... je ne sais pas. Ton explication est plausible. Je ne me suis jamais penché sur ce souci bien que je m'y sois fait prendre également.

Tant que ça fonctionne...
Problème résolu?
0

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

Posez votre question
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 365
6 janv. 2010 à 14:29
Oui, merci bien
0