Projet ou bibliothèque introuvable
Bonjour et Bonne année à tous,
J'ai changé de PC fixe. L'ancien fonctionnait sous XP et le nouveau windows 7. J'ai procédé à un transfert des paramètres de compte et de fichiers pour minimiser les problèmes.
Je travaille avec Excel 2003. Je rencontre une erreur dans certains fichiers. Ils sont tous sur le même modèle. A l'ouverture de ces fichiers lorsque j'active les macros j'ai un message qui me dit : "Projet ou bibliothèque introuvable" puis la macro suivante apparaît :
Sub Semaines_cumulées_depuis_juin()
Dim I As Integer
Dim Nom As String
For I = 3 To Sheets.Count
With Sheets(I)
If I = 3 Then
.Range("AE46").Formula = "=AF38"
Else
If LCase(.Name) Like "*juin*" Then
.Range("AE46").Formula = "=AF38"
Else
.Range("AE46").Formula = "='" & Nom & "'!AE46+AF38"
End If
End If
Nom = .Name
End With
Next I
End Sub
Sur la ligne : If LCase(.Name) Like "*juin*" Then , l'expression LCase est surlignée.
J'ai fait "outils" – "macro" - Visual Basic Editor pour voir les références disponibles. Ce sont les mêmes que sur l'ancienne machine. Alors je bloque...
Pouvez-vous m'aider sur ce problème ?
Cordialement.
Bonjour,
Avant tu peux commencer par mettre en début de ton code 'Option Explicit' et lancer ta procédure pour voir éventuellement les messages d'erreurs.
Ensuite, vois les commentaires ci-dessous.
Cdlt
Option Explicit
Public Sub Semaines_cumulées_depuis_juin()
Dim i As Integer
Dim Nom As String
For i = 3 To Sheets.Count
With Sheets(i)
If i = 3 Then
.Range("AE46").Formula = "=AF38"
Else
' à quoi correspond .Name??
If LCase(.Name) Like "*juin*" Then
.Range("AE46").Formula = "=AF38"
Else
' à quoi correspond Nom??
.Range("AE46").Formula = "='" & Nom & "'!AE46+AF38"
End If
End If
Nom = .Name
End With
Next i
End SubBonjour Jean-Eric et merci de te pencher sur mon problème.
commencer par mettre en début de ton code 'Option Explicit' et lancer ta procédure pour voir éventuellement les messages d'erreurs
Rien ne change le message d'erreur est exactement le même.
Les fichiers sont générés par un userform dont je mets la feuille de base (seule) en pièce jointe. Cette feuille de calcul, telle quelle, comporte forcément des cellules en "erreur" puisqu'elle n'est pas initialisée c'est simplement pour aider à la compréhension de mes réponses.
La première fois que je crée un fichier le userform me génère douze feuilles comme celle là (représentant chacune un mois de l'année. Le premier mois n'étant pas forcément janvier, mais n'importe lequel). Ensuite, selon mes besoin je peux rajouter un nombre de feuilles (de mois) de 1 à 12.
' à quoi correspond .Name??
If LCase(.Name) Like "*juin*" Then
Au nom des mois qui se trouve en cellule D4 de chaque feuille.
' à quoi correspond Nom??
.Range("AE46").Formula = "='" & Nom & "'!AE46+AF38"
Au nom du mois (en cours) D4 de la feuille pour laquelle la formule s'applique : au cumul dans AA46 de toute les feuilles précédentes (limité au mois de juin précédent) avec AF38 de la feuille de calcul en cours.
Je ne sais pas si je m'exprime clairement, alors n'hésite pas à poser à nouveau les mêmes questions si besoin...
Cordialement.
Oups !!!
Au nom du mois (en cours) D4 de la feuille pour laquelle la formule s'applique : au cumul dans AA46 de toute les feuilles précédentes (limité au mois de juin précédent) avec AF38 de la feuille de calcul en cours.
Au lieu de AA46, lire AE46.
Excuses
Re,
Quelle est la relation avec le fichier joint et le code initial?
Ton fichier ne comporte qu'une feuille et pas de macros...
Et encore moins un USF (qui doit peut-être comporter un calendrier, ou équivalent...
Tu veux de l'aide, aides nous
Cdlt
Pour répondre à ta demande j'ai voulu créer un fichier spécial exemple mais je ne peux pas créer de nouveaux fichiers (nouvelle erreur). Afin de ne pas tout mélanger, j'envoie un fichier qui existe et j'expliquerai par la suite les erreurs trouvée sur le classeur d'origine à initialiser.
Quelle est la relation avec le fichier joint et le code initial?
Le fichier joint représente un mois. L'initialisation du classeur le duplique autant de fois que j'en ai besoin. J'ai donc une suite de mois (que je peux augmenter selon les besoins).
Le code cumule de feuille en feuille en AE46 le résultat de AF38. Il le fait pour les feuilles de calcul qui vont de juin à mai, puis recommence à zéro en juin suivant.
A+
Bonsoir
je me mêle de votre conversation
pour moi, il semblerait que les macros complémentaires n'est pas été activées puis désactivées
pour faire le test, il suffit de remplacer Lcase par VBA.Lcase pour voir si cela fonctionne
Bonsoir BOB71AU,
Merci de te joindre à nous.
pour faire le test, il suffit de remplacer Lcase par VBA.Lcase pour voir si cela fonctionne
Effectivement en remplaçant par VBA.Lcase ça fonctionne.
Alors maintenant est ce que je dois le faire pour tous les fichiers concernés ou existe-t-il une autre solution ?
Cordialement.
Re
pour ne pas remplacer par vba.Lcase il faut
pour excel 2003
dans OUTILS?, macros complémentaires, cocher les cases puis valider puis ensuite retourner pour tout redécocher et cela devrait fonctionner
Je suis bien sous excel 2003.
dans OUTILS?, macros complémentaires, cocher les cases puis valider puis ensuite retourner pour tout redécocher
Mais là ça ne fonctionne pas
Il y a une vingtaine de fichiers concernés. Si la modif (VBA.) suffit à rétablir ce que j'avais auparavant, je pourrai le faire.
Cordialement
Bonjour,
Le problème ne vient pas de LCase qui par ailleurs est natif sous Excel.
Le problème est lié au calendrier (DTPicker) et à la référence manquante: 'Microsoft Windows Common Controls 2.6.0 (SP6)'
Le fichier se nomme 'MSCOMCT2.OCX.
Cette référence doit être réinstallée
On la trouve sans problème sur le web, mais il faut peut-être, être prudent avec une version 64 bits de Windows 7.
Cdlt.
Bonjour Jean-Eric,
Ton analyse fait le lien avec la nouvelle erreur dont je parlais :
j'ai voulu créer un fichier spécial exemple mais je ne peux pas créer de nouveaux fichiers (nouvelle erreur)
et qui pointe sur DTPicker 1 (Pour info : le fichier avait superbement été réalisé par un membre "Excel Pratique" mais en dehors de quelques macros simples, je ne maîtrise pas du tout la conception du USF).
Tu me dis :
Le fichier se nomme 'MSCOMCT2.OCX.
Cette référence doit être réinstallée
J'ai effectivement trouvé des procédures sur le net, je vais les suivre, mais je pense que j'aurai à nouveau besoin d'aide avant que cela fonctionne...
Tu dis aussi :
On la trouve sans problème sur le web, mais il faut peut-être, être prudent avec une version 64 bits de Windows 7.
J'ai besoin de mes fichiers, je sauvegarde et je tente.
A+
Re,
Alors, après avoir téléchargé MSCOMCT2.OCX j'ai fait la manip suivante :
composant placé dans le répertoire c:\windows\sysWOW64
+
invite de commande MS-DOS lancée en mode administrateur
+
Regsvr32 C:\Windows\sysWOW64\MSCOMCT2.OCX
Ensuite un message m'indiquait (en substance) Dll registerserver réussi.
A présent mes fichiers en cours s'ouvrent normalement sans erreur
Reste "l'autre" erreur à l'initialisation d'un nouveau fichier (ou pour rajouter des mois) qui m'amène sur DTPicker 1. Penses-tu que je doive ouvrir un nouveau sujet pour cela ?
Pour l'instant, grand
Merci aussi à BOB71AU
A+
Re,
Content pour toi que ton problème soit presque résolu.
Mais je ne peux pas t'aider plus car je travaille avec Excel 2010.
Clos ce sujet et ouvres en un autre avec un titre explicite et rappelles que tu travailles avec Excel 2003.
Cdlt