Plantage vba lors de la compilation
Autruche_gersoise
Messages postés
8
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai crée le programme ci-dessus qui me permet de récupérer des infos dans différentes feuille d'un même classeur.
Il s'agit d'un bouton qui , lorsque je clique dessus , vas chercher le nombre d'heures qu'a travaillé des employés suivant le nom de chauque employé et le jour du mois grâce à 3 boucles Do....Loop while.
Mais lorsque je veux compiler mon programme pour le tester excel plante et je suis obligé de forcer la fermeture.
Pourriez-vous me dire si le problème vient de on codage ou si c'est autre chose ?
code:
Sub ActualiserHeures_Clic()
Dim NomMoisEmploye As String
Dim NomJourEmploye As String
Dim compteurJour As Integer, compteurJourPersonnel As Integer, compteurMoisperso As Integer
compteurJour = 1
NomJourEmploye = Sheets("J" & compteurJour).Cells(11 + compteurJourPersonnel, 1)
NomMoisEmploye = Sheets("Perso").Cells(12 + compteurMoisperso, 1)
Do
Do
compteurMoisperso = 0
Do
Worksheets("perso").Activate
compteurJourPersonnel = 0
If NomMoisEmploye = NomJourEmploye Then
Cells(12 + compteurMoisperso, 3 + copteurJour).Value = Worksheets("J & compteurJour").Cells(11 + compteurJourPersonnel, 1).Value
compteurMoisperso = compteurMoisperso + 1
Else
compteurJourPersonnel = compteurJourPersonnel + 1
End If
Loop While NomJourEmploye <> ""
compteurMoisperso = compteurMoisperso + 1
Loop While NomMoisEmploye <> ""
compteurJour = compteurJour + 1
Loop While compteurJour = 31
Worksheets("Perso").Select
End Sub
J'ai crée le programme ci-dessus qui me permet de récupérer des infos dans différentes feuille d'un même classeur.
Il s'agit d'un bouton qui , lorsque je clique dessus , vas chercher le nombre d'heures qu'a travaillé des employés suivant le nom de chauque employé et le jour du mois grâce à 3 boucles Do....Loop while.
Mais lorsque je veux compiler mon programme pour le tester excel plante et je suis obligé de forcer la fermeture.
Pourriez-vous me dire si le problème vient de on codage ou si c'est autre chose ?
code:
Sub ActualiserHeures_Clic()
Dim NomMoisEmploye As String
Dim NomJourEmploye As String
Dim compteurJour As Integer, compteurJourPersonnel As Integer, compteurMoisperso As Integer
compteurJour = 1
NomJourEmploye = Sheets("J" & compteurJour).Cells(11 + compteurJourPersonnel, 1)
NomMoisEmploye = Sheets("Perso").Cells(12 + compteurMoisperso, 1)
Do
Do
compteurMoisperso = 0
Do
Worksheets("perso").Activate
compteurJourPersonnel = 0
If NomMoisEmploye = NomJourEmploye Then
Cells(12 + compteurMoisperso, 3 + copteurJour).Value = Worksheets("J & compteurJour").Cells(11 + compteurJourPersonnel, 1).Value
compteurMoisperso = compteurMoisperso + 1
Else
compteurJourPersonnel = compteurJourPersonnel + 1
End If
Loop While NomJourEmploye <> ""
compteurMoisperso = compteurMoisperso + 1
Loop While NomMoisEmploye <> ""
compteurJour = compteurJour + 1
Loop While compteurJour = 31
Worksheets("Perso").Select
End Sub
A voir également:
- Plantage vba lors de la compilation
- Plantage windows 10 - Guide
- Excel compter cellule couleur sans vba - Guide
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Vba sleep ✓ - Forum VB / VBA
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
2 réponses
Bonjour,
Dans votre code NomJourEmploye et NomMoisEmploye ne sont pas mis a jour.
Essayez ceci
Dans votre code NomJourEmploye et NomMoisEmploye ne sont pas mis a jour.
Essayez ceci
Sub ActualiserHeures_Clic()
Dim NomMoisEmploye As String
Dim NomJourEmploye As String
Dim compteurJour As Integer, compteurJourPersonnel As Integer, compteurMoisperso As Integer
compteurJour = 1
Do
Do
compteurMoisperso = 0
Do
Worksheets("perso").Activate
compteurJourPersonnel = 0
NomJourEmploye = Sheets("J" & compteurJour).Cells(11 + compteurJourPersonnel, 1)
NomMoisEmploye = Sheets("Perso").Cells(12 + compteurMoisperso, 1)
If NomMoisEmploye = NomJourEmploye Then
Cells(12 + compteurMoisperso, 3 + copteurJour).Value = Worksheets("J & compteurJour").Cells(11 + compteurJourPersonnel, 1).Value
compteurMoisperso = compteurMoisperso + 1
Else
compteurJourPersonnel = compteurJourPersonnel + 1
End If
Loop While NomJourEmploye <> ""
compteurMoisperso = compteurMoisperso + 1
Loop While NomMoisEmploye <> ""
compteurJour = compteurJour + 1
Loop While compteurJour = 31
Worksheets("Perso").Select
End Sub