XL 2010 Projet ou bibliothèque introuvable

Draxtor

XLDnaute Nouveau
Bonjour à tous,
Il y a des fois où je trouve que vba est complètement illogique, je suis en face d'un problème incompréhensible.
J'ai élaboré chez moi sous excel 2007 un programme vba qui ne fonctionne pas toujours sur mon lieu de travail sous excel 2010.

Exemple : #Range("U10") = Left(Range("R10"), 6)#
me renvoie, sur mon lieu de travail, ce message d'erreur en surlignant "Left" :
"Projet ou bibliothèque introuvable".
Le pire dans tout cà est que si je crée, toujours sous excel 2010, un nouveau fichier incluant la même procédure #Range("U10") = Left(Range("R10"), 6)# tout fonctionne très bien en renvoyant dans la cellule U10 les 6 premiers caractères du contenu de la cellule R10.

Le même message est déclenché par d'autres termes comme STR( ) ou CHR(10)...

Merci pour vos lumières.
 
Solution
Re

•>Draxtor
Bah dans ton premier message, tu écrivais ;)
Range("U10") = Left(Range("R10"), 6)
et je te propose de réécrire cette ligne ainsi
Range("U10") = VBA.Left(Range("R10"), 6)

Et normalement, tu n'auras plus ton message d'erreur ;)

Dranreb

XLDnaute Barbatruc
Bonsoir
je ne comprends pas ce que VBA. apporte en plus.
Pas vraiment grand chose, vu que ça ne fait probablement que reporter le problème. Mais en spécifiant ainsi la bibliothèque où la fonction est définie, ça évite au compilateur de devoir la rechercher parmi toutes celles cochées en références. Ceci élimine, juste pour ce cas là, le risque d'abandon pure et simple de cette recherche si l'une d'elle impliquait le chargement d'un fichier inexistant, ce qui est signalé en capitales par le mot MANQUANT au début de la désignation d'une référence cochée dans la liste.
Pour afficher cette liste, dans Visual Basic Editor, faire Alt+OR, ou bien menu Outils, sous menu Références…
 
Dernière édition:

Draxtor

XLDnaute Nouveau
BonsoirPas vraiment grand chose, vu que ça ne fait probablement que reporter le problème. Mais en spécifiant ainsi la bibliothèque où la fonction est définie, ça évite au compilateur de devoir la rechercher parmi toutes celles cochées en références. Ceci élimine, juste pour ce cas là, le risque d'abandon pure et simple de cette recherche si l'une d'elle impliquait le chargement d'un fichier inexistant, ce qui est signalé en capitales par le mot MANQUANT au début de la désignation d'une référence cochée dans la liste.
Pour afficher cette liste, dans Visual Basic Editor, faire Alt+OR, ou bien menu Outils, sous menu Références…
Merci pour tes explications claires, il est vrai que le langage informatique peut être difficilement compréhensible pour les non experts. Je travaille depuis longtemps sur un programme que j'ai dû faire évoluer, dans le cadre de mon boulot, mais en consultant les forums ou autres sources je me rends compte que j'utilise souvent les mêmes instructions ou fonctions et que mon langage est assez peu élaboré, par manque de connaissance. Je suis tout de même assez satisfait de ce que j'ai fait, même si parfois j'obtiens des réponses pas toujours satisfaisantes, dans ce cas je dois contourner le problème en utilisantt d'autres instructions.
Bref pour revenir à mon problème, comme je l'ai dit à Staple 1600 j'essaierai de modifier tout ça au boulot en tenant compte de vos conseils.
Merci, bon week-end
 

La flamme

XLDnaute Junior
BonsoirPas vraiment grand chose, vu que ça ne fait probablement que reporter le problème. Mais en spécifiant ainsi la bibliothèque où la fonction est définie, ça évite au compilateur de devoir la rechercher parmi toutes celles cochées en références. Ceci élimine, juste pour ce cas là, le risque d'abandon pure et simple de cette recherche si l'une d'elle impliquait le chargement d'un fichier inexistant, ce qui est signalé en capitales par le mot MANQUANT au début de la désignation d'une référence cochée dans la liste.
Pour afficher cette liste, dans Visual Basic Editor, faire Alt+OR, ou bien menu Outils, sous menu Références…
Bonjour je ne sais si j'aurai une réponse vu la date des échanges mais je risque.
J'ai le même problème avec cette ligne de code sur excel 2010 :
DL = .Range("A65500").End(xlUp).Row
On souligne DL et renvoie objet ou bibliothèque non trouvable.
Pourtant que sur excel 2013 ça fonctionne normalement. Merci d'avance j'ai même ajouté VBA devant Range ça n'a pas marché


cordialement
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Range n'est pas une fonction de la bibliothèque VBA mais une méthode des objets Application et Worksheet de la bibliothèque Excel.
Si ça commence juste par un point il doit y avoir une expression With ObjetWorksheet devant. Avez vous vérifié si cet objet Worksheet est correcement initialisé, et si oui, ensuite seulement, s'il n'y a pas de référence portée MANQUANT ?
 

La flamme

XLDnaute Junior
Bonjour.
Range n'est pas une fonction de la bibliothèque VBA mais une méthode des objets Application et Worksheet de la bibliothèque Excel.
Si ça commence juste par un point il doit y avoir une expression With ObjetWorksheet devant. Avez vous vérifié si cet objet Worksheet est correcement initialisé, et si oui, ensuite seulement, s'il n'y a pas de référence portée MANQUANT ?
Voilà image comme je l'ai dit ça fonctionne parfaitement avec Excel 2013
 

Pièces jointes

  • 20210224_121537.jpg
    20210224_121537.jpg
    458.5 KB · Affichages: 23

Discussions similaires

Réponses
1
Affichages
660

Statistiques des forums

Discussions
315 147
Messages
2 116 770
Membres
112 857
dernier inscrit
sanogo