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 Sub

Bonjour 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.

25nyre-exemple.zip (41.22 Ko)

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 pour ton analyse et ton aide efficaces.

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

Rechercher des sujets similaires à "projet bibliotheque introuvable"