Erreur de compilation sur une macro
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 d'avance 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 d'avance pour votre aide !
A voir également:
- Erreur de compilation sur une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Erreur 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
3 réponses
Bonjour,
Comme l'on ne peut pas rentrer sans mot de passe, j'ai essayé ta procédure manuellement sous 2010 sans souci.
Par contre tu devrais définir tes variables dans tous tes modules : cela ne prends pas beaucoup de temps et évite pas mal de soucis ultérieurs.
Comme l'on ne peut pas rentrer sans mot de passe, j'ai essayé ta procédure manuellement sous 2010 sans souci.
Par contre tu devrais définir tes variables dans tous tes modules : cela ne prends pas beaucoup de temps et évite pas mal de soucis ultérieurs.
Bonjour
modification de ta macro
Sub enregistrement()
With Application
.ScreenUpdating = False
.Calculation = xlManual
.EnableEvents = False
End With
code = Range("B" & 5).Value
ligne = Range("B" & 6).Value
Cuve = Range("B" & 7).Value
Date_jour = CDate(Range("B" & 8).Value)
Heure = Range("B" & 9).Value
Lot = Range("B" & 10).Value
Feuil5.Activate
With Sheets(Feuil5.Name).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]")
Date_jour = DateValue(Now)
With Application
.CutCopyMode = False
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
pas terrible le mots de passe
je prefere le faire sur le profil(Login)
A+
Maurice
modification de ta macro
Sub enregistrement()
With Application
.ScreenUpdating = False
.Calculation = xlManual
.EnableEvents = False
End With
code = Range("B" & 5).Value
ligne = Range("B" & 6).Value
Cuve = Range("B" & 7).Value
Date_jour = CDate(Range("B" & 8).Value)
Heure = Range("B" & 9).Value
Lot = Range("B" & 10).Value
Feuil5.Activate
With Sheets(Feuil5.Name).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]")
Date_jour = DateValue(Now)
With Application
.CutCopyMode = False
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
End Sub
pas terrible le mots de passe
je prefere le faire sur le profil(Login)
A+
Maurice