Erreur de compilation : Projet ou bibliothèque introuvable
Jb6161
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
Jb6161 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Jb6161 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
J'ai réalisé un fichier avec différentes macros sous excel 2007 ( tout fonctionne bien ) mais en voulant le passer sous Excel 2010 j'ai du modifier plusieurs choses dans mes macros et il y en a une en particulier où je ne vois vraiment pas le problème.
Quand je l'exécute, le debogage me dit que c'est une erreur de compilation et que celle ci provient de nb_ligne !
Sub enregistrement()
nb_ligne = 5
code = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
ligne = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Cuve = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Date_jour = CDate(Range("B" & nb_ligne).Value)
nb_ligne = nb_ligne + 1
Heure = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Lot = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Sheets("Affichage").Activate
With Sheets("Affichage").Columns("B:B")
Set celltrouve = .Find(ligne, lookat:=xlWhole)
End With
num_ligne = celltrouve.Row
Range("D" & num_ligne).Activate
If ActiveCell.Offset(0, 0).Value = Cuve Then
ActiveCell.Offset(0, 1) = Lot
ActiveCell.Offset(0, 3) = code
ActiveCell.Offset(0, 5) = Date_jour
ActiveCell.Offset(0, 6) = Heure
End If
If ActiveCell.Offset(1, 0).Value = Cuve Then
ActiveCell.Offset(1, 1) = Lot
ActiveCell.Offset(1, 3) = code
ActiveCell.Offset(1, 5) = Date_jour
ActiveCell.Offset(1, 6) = Heure
End If
Date_jour = Format(Now, "[jj/mm/aaaa]")
End Sub
Fichier : https://www.cjoint.com/?DFmnct5ydjB
Merci pour votre aide !
J'ai réalisé un fichier avec différentes macros sous excel 2007 ( tout fonctionne bien ) mais en voulant le passer sous Excel 2010 j'ai du modifier plusieurs choses dans mes macros et il y en a une en particulier où je ne vois vraiment pas le problème.
Quand je l'exécute, le debogage me dit que c'est une erreur de compilation et que celle ci provient de nb_ligne !
Sub enregistrement()
nb_ligne = 5
code = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
ligne = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Cuve = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Date_jour = CDate(Range("B" & nb_ligne).Value)
nb_ligne = nb_ligne + 1
Heure = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Lot = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Sheets("Affichage").Activate
With Sheets("Affichage").Columns("B:B")
Set celltrouve = .Find(ligne, lookat:=xlWhole)
End With
num_ligne = celltrouve.Row
Range("D" & num_ligne).Activate
If ActiveCell.Offset(0, 0).Value = Cuve Then
ActiveCell.Offset(0, 1) = Lot
ActiveCell.Offset(0, 3) = code
ActiveCell.Offset(0, 5) = Date_jour
ActiveCell.Offset(0, 6) = Heure
End If
If ActiveCell.Offset(1, 0).Value = Cuve Then
ActiveCell.Offset(1, 1) = Lot
ActiveCell.Offset(1, 3) = code
ActiveCell.Offset(1, 5) = Date_jour
ActiveCell.Offset(1, 6) = Heure
End If
Date_jour = Format(Now, "[jj/mm/aaaa]")
End Sub
Fichier : https://www.cjoint.com/?DFmnct5ydjB
Merci pour votre aide !
A voir également:
- Erreur de compilation projet ou bibliothèque introuvable
- Filigrane projet - Guide
- Supprimer un fichier introuvable - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
4 réponses
Bonjour,
tes variables ne sont pas déclarer dans le code, donc VBA pense que ce sont des fonctions.
Déclare toute tes variables et cela devrait se résoudre
Dim nb_ligne as interger (simple exemple) et ainsi de suite avec les autres
tes variables ne sont pas déclarer dans le code, donc VBA pense que ce sont des fonctions.
Déclare toute tes variables et cela devrait se résoudre
Dim nb_ligne as interger (simple exemple) et ainsi de suite avec les autres
Bonjour,
Merci cela résoud bien mon problème sauf que maintenant la même erreur est sur la ligne en gras:
Dim nb_ligne As Integer
nb_ligne = 5
Dim code As Integer
code = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim ligne As Integer
ligne = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim cuve As Integer
cuve = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim Date_jour As Integer
Date_jour = CDate(Range("B" & nb_ligne).Value)
nb_ligne = nb_ligne + 1
Dim Heure As Integer
Heure = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim Lot As Integer
Lot = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Sheets("Affichage").Activate
With Sheets("Affichage").Columns("B:B")
Set celltrouve = .Find(ligne, lookat:=xlWhole)
End With
num_ligne = celltrouve.Row
Range("D" & num_ligne).Activate
If ActiveCell.Offset(0, 0).Value = cuve Then
ActiveCell.Offset(0, 1) = Lot
ActiveCell.Offset(0, 3) = code
ActiveCell.Offset(0, 5) = Date_jour
ActiveCell.Offset(0, 6) = Heure
End If
If ActiveCell.Offset(1, 0).Value = cuve Then
ActiveCell.Offset(1, 1) = Lot
ActiveCell.Offset(1, 3) = code
ActiveCell.Offset(1, 5) = Date_jour
ActiveCell.Offset(1, 6) = Heure
End If
Date_jour = Format(Now, "[jj/mm/aaaa]")
End Sub
Merci cela résoud bien mon problème sauf que maintenant la même erreur est sur la ligne en gras:
Dim nb_ligne As Integer
nb_ligne = 5
Dim code As Integer
code = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim ligne As Integer
ligne = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim cuve As Integer
cuve = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim Date_jour As Integer
Date_jour = CDate(Range("B" & nb_ligne).Value)
nb_ligne = nb_ligne + 1
Dim Heure As Integer
Heure = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Dim Lot As Integer
Lot = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Sheets("Affichage").Activate
With Sheets("Affichage").Columns("B:B")
Set celltrouve = .Find(ligne, lookat:=xlWhole)
End With
num_ligne = celltrouve.Row
Range("D" & num_ligne).Activate
If ActiveCell.Offset(0, 0).Value = cuve Then
ActiveCell.Offset(0, 1) = Lot
ActiveCell.Offset(0, 3) = code
ActiveCell.Offset(0, 5) = Date_jour
ActiveCell.Offset(0, 6) = Heure
End If
If ActiveCell.Offset(1, 0).Value = cuve Then
ActiveCell.Offset(1, 1) = Lot
ActiveCell.Offset(1, 3) = code
ActiveCell.Offset(1, 5) = Date_jour
ActiveCell.Offset(1, 6) = Heure
End If
Date_jour = Format(Now, "[jj/mm/aaaa]")
End Sub
c'est toujours le même problème, variable non déclaré.
Pour que ton code soit plus lisible procède comme suit
Pour que ton code soit plus lisible procède comme suit
Sub enregistrement()
'déclaration des variables
Dim nb_ligne As Integer
Dim code As Integer
Dim ligne As Integer
Dim cuve As Integer
Dim Date_jour As Integer
Dim Heure As Integer
Dim Lot As Integer
nb_ligne = 5
code = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
ligne = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
cuve = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Date_jour = CDate(Range("B" & nb_ligne).Value)
nb_ligne = nb_ligne + 1
Heure = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Lot = Range("B" & nb_ligne).Value
nb_ligne = nb_ligne + 1
Sheets("Affichage").Activate
With Sheets("Affichage").Columns("B:B")
Set celltrouve = .Find(ligne, lookat:=xlWhole)
End With
num_ligne = celltrouve.Row
Range("D" & num_ligne).Activate
If ActiveCell.Offset(0, 0).Value = cuve Then
ActiveCell.Offset(0, 1) = Lot
ActiveCell.Offset(0, 3) = code
ActiveCell.Offset(0, 5) = Date_jour
ActiveCell.Offset(0, 6) = Heure
End If
If ActiveCell.Offset(1, 0).Value = cuve Then
ActiveCell.Offset(1, 1) = Lot
ActiveCell.Offset(1, 3) = code
ActiveCell.Offset(1, 5) = Date_jour
ActiveCell.Offset(1, 6) = Heure
End If
Date_jour = Format(Now, "[jj/mm/aaaa]")
End Sub