Bonjour a tous et toutes,
J'ai fait un petit programme qui me permet d'analyser les donnees d'un tableau.
Ce tableau contient une colonne C avec des date de type (jj/mm/aaaa).
J'ai rajoute une colonne MOIS (colonne B)ou je voulais inserer le mois correspondant a la date situe dans la colonne C :
Par exemple , si C3 = 08/03/2009 alors B3 = MARS
si C4= 01/04/2009 alors C4= AVRIL
Mais le programme bug sur la boucle " For Each Next".
Il m'annonce " ERREUR D'EXECUTION 1004. La methode' Range' de l'objet 'global'e a echoue"
Il faut savoir aussi que le tableau n'est pas fige, chaque jour, des lignes nouvelles viennent s'integrer au tableau d'ou la necessite de recourire a la boucle For each Next pour inserer la valeur MOIS.
Voici la macro .
Pour des raisons de lecture et de comprehension, j'ai incere uniquement le bout du programme qui pose probleme.
Merci de votre aide.
Sub Macro1()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 ' Insertion du mois dans la colonne B Range("B2").Select If Range("B3").Value <> "" Then Range("B2").End(xlDown).Select 'Si la cellule B3 n'est pas vide, 'on selectionne la derniere cellule non vide de la colonne B. Si B3 est libre, la derniere cellule non vide est B2. 'Il n'est pas necesaire de se deplacer. ActiveCell.Offset(1, 1).Select 'Enfait, on se positionne sur la premiere cellule non vide de la colonne C (colonne date) situe a droite de la premiere cellule vide de la colonne B (colonne MOIS) . LigDeb = ActiveCell.Row 'ligne active qui correspond a la 1er ligne vide de la colonne B ( colonne MOIS) LigFin = Range("C2").End(xlDown).Row 'derniere cellule non vide de la colonne C (colonne MOIS) For Each Cell In Range(LigDeb & LigFin) Cell.Offset(o, -1) = Format(CDate(Cell), "mmmm") Next End Sub
Partager