J'ai un tableau dont la colonne qui me sert =E0 "graduer" les abcisses
contient des dates sous la forme aa_Sss,
avec aa deux chiffres de droite de l'ann=E9e et ss num=E9ro de semaine.
eg : la semaine du 4 au 10 d=E9cembre 2006 est convertie
en 06_S49
(Je peux avoir aussi pour les mois
le m=EAme format.)
La s=E9rie n'est malheureusement pas continue : 06_S35, 06_S36, 06_S39,
06_S40 par exemple.
Comment faire pour faire apparaitre ces abcisses sous forme
"chronologique",
c'est =E0 dire avec un 'trou" dans les histogrammes pour les semaines
06_S37 et 06_S38 ?=20
=20
Remerciements anticip=E9s=20
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Regarde un exemple à l'adresse suivante : http://cjoint.com/?lvoJt5EpJu Cordialement. Daniel "Le Nordiste" a écrit dans le message de news: Bonjour tertous,
J'ai un tableau dont la colonne qui me sert à "graduer" les abcisses contient des dates sous la forme aa_Sss, avec aa deux chiffres de droite de l'année et ss numéro de semaine. eg : la semaine du 4 au 10 décembre 2006 est convertie en 06_S49 (Je peux avoir aussi pour les mois le même format.)
La série n'est malheureusement pas continue : 06_S35, 06_S36, 06_S39, 06_S40 par exemple.
Comment faire pour faire apparaitre ces abcisses sous forme "chronologique", c'est à dire avec un 'trou" dans les histogrammes pour les semaines 06_S37 et 06_S38 ?
Remerciements anticipés
Le Nordiste
Bonjour.
Regarde un exemple à l'adresse suivante :
http://cjoint.com/?lvoJt5EpJu
Cordialement.
Daniel
"Le Nordiste" <jean-paul.bataille@cegetel.fr> a écrit dans le message de
news: 1164113167.990226.33080@h54g2000cwb.googlegroups.com...
Bonjour tertous,
J'ai un tableau dont la colonne qui me sert à "graduer" les abcisses
contient des dates sous la forme aa_Sss,
avec aa deux chiffres de droite de l'année et ss numéro de semaine.
eg : la semaine du 4 au 10 décembre 2006 est convertie
en 06_S49
(Je peux avoir aussi pour les mois
le même format.)
La série n'est malheureusement pas continue : 06_S35, 06_S36, 06_S39,
06_S40 par exemple.
Comment faire pour faire apparaitre ces abcisses sous forme
"chronologique",
c'est à dire avec un 'trou" dans les histogrammes pour les semaines
06_S37 et 06_S38 ?
Bonjour. Regarde un exemple à l'adresse suivante : http://cjoint.com/?lvoJt5EpJu Cordialement. Daniel "Le Nordiste" a écrit dans le message de news: Bonjour tertous,
J'ai un tableau dont la colonne qui me sert à "graduer" les abcisses contient des dates sous la forme aa_Sss, avec aa deux chiffres de droite de l'année et ss numéro de semaine. eg : la semaine du 4 au 10 décembre 2006 est convertie en 06_S49 (Je peux avoir aussi pour les mois le même format.)
La série n'est malheureusement pas continue : 06_S35, 06_S36, 06_S39, 06_S40 par exemple.
Comment faire pour faire apparaitre ces abcisses sous forme "chronologique", c'est à dire avec un 'trou" dans les histogrammes pour les semaines 06_S37 et 06_S38 ?
Remerciements anticipés
Le Nordiste
Garette
Bonjour,
Une solution par macro : En considérant que les données sont en A1:B8 date Data 06_S39 1 06_S35 2 06_S44 4 06_S36 5 06_S40 5 06_S45 6 06_S46 7
Il faut rajouter les dates manquantes et une cellule vide dans les Data. Ce que fait la macro suivante :
Sub TEST() Range("A1:B" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Sort _ Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
Set Macolonne = Range("A2:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row) For Each X In Macolonne If Left(X, 2) & Right(X, 2) + 1 <> Left(X.Offset(1, 0), 2) & Right(X.Offset(1, 0), 2) Then Range("A65536").End(xlUp).Offset(1, 0).Value = Left(X, 2) & "_S" & Right(X, 2) + 1 Range("A1:B" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Sort _ Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes End If Next End Sub
Bonjour,
Une solution par macro :
En considérant que les données sont en A1:B8
date Data
06_S39 1
06_S35 2
06_S44 4
06_S36 5
06_S40 5
06_S45 6
06_S46 7
Il faut rajouter les dates manquantes et une cellule vide dans les Data. Ce
que fait la macro suivante :
Sub TEST()
Range("A1:B" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Sort _
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
Set Macolonne = Range("A2:A" &
Sheets("Feuil1").Range("A65536").End(xlUp).Row)
For Each X In Macolonne
If Left(X, 2) & Right(X, 2) + 1 <> Left(X.Offset(1, 0), 2) &
Right(X.Offset(1, 0), 2) Then
Range("A65536").End(xlUp).Offset(1, 0).Value = Left(X, 2) & "_S" &
Right(X, 2) + 1
Range("A1:B" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Sort
_
Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
End If
Next
End Sub
Une solution par macro : En considérant que les données sont en A1:B8 date Data 06_S39 1 06_S35 2 06_S44 4 06_S36 5 06_S40 5 06_S45 6 06_S46 7
Il faut rajouter les dates manquantes et une cellule vide dans les Data. Ce que fait la macro suivante :
Sub TEST() Range("A1:B" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Sort _ Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
Set Macolonne = Range("A2:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row) For Each X In Macolonne If Left(X, 2) & Right(X, 2) + 1 <> Left(X.Offset(1, 0), 2) & Right(X.Offset(1, 0), 2) Then Range("A65536").End(xlUp).Offset(1, 0).Value = Left(X, 2) & "_S" & Right(X, 2) + 1 Range("A1:B" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Sort _ Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes End If Next End Sub
Garette
Bonsoir,
La meme chose, debuggée et qui tient compte du changement d'année (en utilisant l'excellente formule de http://xcell05.free.fr/pages/form/dateheure.htm#Numsemaine) Elle ne gere pas les annees avant 2000 ...
Function NOSEM(D As Date) As Long D = Int(D) NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1) NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) 7 + 1 End Function
Bonsoir,
La meme chose, debuggée et qui tient compte du changement d'année (en
utilisant l'excellente formule de
http://xcell05.free.fr/pages/form/dateheure.htm#Numsemaine)
Elle ne gere pas les annees avant 2000 ...
Function NOSEM(D As Date) As Long
D = Int(D)
NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) 7 + 1
End Function
La meme chose, debuggée et qui tient compte du changement d'année (en utilisant l'excellente formule de http://xcell05.free.fr/pages/form/dateheure.htm#Numsemaine) Elle ne gere pas les annees avant 2000 ...
Function NOSEM(D As Date) As Long D = Int(D) NOSEM = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1) NOSEM = ((D - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) 7 + 1 End Function