Erreur sur macro VBA (Résolu)
Bonsoir
Un ami, m'avait créer une macro qui me permettait automatiquement, d'ouvrir un classeur comprenant 12 feuilles de calcul de Janvier à Décembre, à la date du jour.
Cette macro à très bien fonctionnée pour les années 2007,2008,2009.
Depuis Janvier 2010, lorsque j'ouvre mon classeur il s'affiche une erreur :
Erreur 9 : l'indice ne correspond pas à la sélection.
Malheureusement je n'y connais rien en VBA, alors si quelqu'un est assez sympa pour me donner un coud de main ça serait super.
Le débogueur me surligne en jaune la ligne suivante :
Sheets(mois).Select 'sélectionne l'onglet correspondant au mois
Je colle dessous l'intégralité de la macro :
Private Sub Workbook_Open()
Dim moisn As Byte 'déclare la variable moisn
Dim mois As String 'déclare la variable mois
Dim cel As Range 'déclare la variable cel
moisn = Month(Date) 'définit la variable mois
'définit la variable mois en fonction de la valeur de moins
Select Case moisn
Case 1
mois = "Janvier"
Case 2
mois = "Février"
Case 3
mois = "Mars"
Case 4
mois = "Avril"
Case 5
mois = "Mai"
Case 6
mois = "Juin"
Case 7
mois = "Juillet"
Case 8
mois = "Août"
Case 9
mois = "Septembre"
Case 10
mois = "Octobre"
Case 11
mois = "Novembre"
Case 12
mois = "Décembre"
End Select
Sheets(mois).Select 'sélectionne l'onglet correspondant au mois
'boucle sur toutes les cellules de la colonne A
For Each cel In Range("A6:A" & Range("A6").End(xlDown).Row)
If DateValue(cel) = Date Then 'Condition : si la date de la cellule correspond à la date du jour
cel.Offset(0, 1).Select 'sélectionne la cellule à coté colonne B
Exit Sub 'sort de la procédure
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub
Merci d'avance.
Bonsoir
Un ami, m'avait créer une macro qui me permettait automatiquement, d'ouvrir un classeur comprenant 12 feuilles de calcul de Janvier à Décembre, à la date du jour.
Cette macro à très bien fonctionnée pour les années 2007,2008,2009.
Depuis Janvier 2010, lorsque j'ouvre mon classeur il s'affiche une erreur :
Erreur 9 : l'indice ne correspond pas à la sélection.
Malheureusement je n'y connais rien en VBA, alors si quelqu'un est assez sympa pour me donner un coud de main ça serait super.
Le débogueur me surligne en jaune la ligne suivante :
Sheets(mois).Select 'sélectionne l'onglet correspondant au mois
Je colle dessous l'intégralité de la macro :
Private Sub Workbook_Open()
Dim moisn As Byte 'déclare la variable moisn
Dim mois As String 'déclare la variable mois
Dim cel As Range 'déclare la variable cel
moisn = Month(Date) 'définit la variable mois
'définit la variable mois en fonction de la valeur de moins
Select Case moisn
Case 1
mois = "Janvier"
Case 2
mois = "Février"
Case 3
mois = "Mars"
Case 4
mois = "Avril"
Case 5
mois = "Mai"
Case 6
mois = "Juin"
Case 7
mois = "Juillet"
Case 8
mois = "Août"
Case 9
mois = "Septembre"
Case 10
mois = "Octobre"
Case 11
mois = "Novembre"
Case 12
mois = "Décembre"
End Select
Sheets(mois).Select 'sélectionne l'onglet correspondant au mois
'boucle sur toutes les cellules de la colonne A
For Each cel In Range("A6:A" & Range("A6").End(xlDown).Row)
If DateValue(cel) = Date Then 'Condition : si la date de la cellule correspond à la date du jour
cel.Offset(0, 1).Select 'sélectionne la cellule à coté colonne B
Exit Sub 'sort de la procédure
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub
Merci d'avance.
Dernière édition: