Feuil en suite

Le
MANU
Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur la
1ere feuil : 01062011 qu'il me fasse la suite de tous les jours sur chacune
des feuils, c'est à a dire sur la 2eme feuil : 02062011 etc. et
qu'ensuite sur chacune des feuil en cellule A1 qu'il me mette la date de la
feuil en question (J'ai reussi à faire cette partie) en faisant cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23447721
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End Sub

Cordialement.
Daniel


Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur la 1ere
feuil : 01062011 qu'il me fasse la suite de tous les jours sur chacune des
feuils, c'est à a dire sur la 2eme feuil : 02062011 etc.... et qu'ensuite sur
chacune des feuil en cellule A1 qu'il me mette la date de la feuil en
question (J'ai reussi à faire cette partie) en faisant cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu
MANU
Le #23447931
Merci Daniel,
Mais comment tu lance la macro ? Je pensais qu'il suffisait de changer de
feuil pour que ca se lanse, mais rien....

Merci de m'informer

Manu

"DanielCo" ist1ip$e11$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End Sub

Cordialement.
Daniel


Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur la
1ere feuil : 01062011 qu'il me fasse la suite de tous les jours sur
chacune des feuils, c'est à a dire sur la 2eme feuil : 02062011 etc....
et qu'ensuite sur chacune des feuil en cellule A1 qu'il me mette la date
de la feuil en question (J'ai reussi à faire cette partie) en faisant
cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu




DanielCo
Le #23448141
Non, tu la copies dans le module de la feuille où tu entres la date.
Lorsque tu entres cette date dans une cellule quelconque, les autres
feuilles sont renseignées.
Daniel


Merci Daniel,
Mais comment tu lance la macro ? Je pensais qu'il suffisait de changer de
feuil pour que ca se lanse, mais rien....

Merci de m'informer

Manu

"DanielCo" ist1ip$e11$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End Sub

Cordialement.
Daniel


Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur la
1ere feuil : 01062011 qu'il me fasse la suite de tous les jours sur
chacune des feuils, c'est à a dire sur la 2eme feuil : 02062011 etc.... et
qu'ensuite sur chacune des feuil en cellule A1 qu'il me mette la date de
la feuil en question (J'ai reussi à faire cette partie) en faisant cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu




MANU
Le #23467541
Bonjour,

Désolé pour le retard, mais j'ai eu des problemes de connexions,

J'ai compris pour le code, mais quand il se lance, il me met le debogueur
sur ces 2 lignes :
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr

Merci de me dire pourquoi ?

Manu

"DanielCo" ist92f$1ft$
Non, tu la copies dans le module de la feuille où tu entres la date.
Lorsque tu entres cette date dans une cellule quelconque, les autres
feuilles sont renseignées.
Daniel


Merci Daniel,
Mais comment tu lance la macro ? Je pensais qu'il suffisait de changer de
feuil pour que ca se lanse, mais rien....

Merci de m'informer

Manu

"DanielCo" ist1ip$e11$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End Sub

Cordialement.
Daniel


Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur
la 1ere feuil : 01062011 qu'il me fasse la suite de tous les jours sur
chacune des feuils, c'est à a dire sur la 2eme feuil : 02062011 etc....
et qu'ensuite sur chacune des feuil en cellule A1 qu'il me mette la
date de la feuil en question (J'ai reussi à faire cette partie) en
faisant cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu










DanielCo
Le #23468171
Bonjour,
J'ai ajouté quelques contrôles : le nombre doit être entré au format
texte et doit être composé de 8 chiffres. Par contre, comme tu ne l'as
pas spécifié, il peut être entré n'importe où dans la feuille et sera
incrémenté à la même adresse sur les feuilles suivantes :

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.IsText(Target.Value) And Len(Target.Value) = 8 Then
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End If
End Sub

Daniel


Bonjour,

Désolé pour le retard, mais j'ai eu des problemes de connexions,

J'ai compris pour le code, mais quand il se lance, il me met le debogueur sur
ces 2 lignes :
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr

Merci de me dire pourquoi ?

Manu

"DanielCo" ist92f$1ft$
Non, tu la copies dans le module de la feuille où tu entres la date.
Lorsque tu entres cette date dans une cellule quelconque, les autres
feuilles sont renseignées.
Daniel


Merci Daniel,
Mais comment tu lance la macro ? Je pensais qu'il suffisait de changer de
feuil pour que ca se lanse, mais rien....

Merci de m'informer

Manu

"DanielCo" ist1ip$e11$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End Sub

Cordialement.
Daniel


Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur la
1ere feuil : 01062011 qu'il me fasse la suite de tous les jours sur
chacune des feuils, c'est à a dire sur la 2eme feuil : 02062011 etc....
et qu'ensuite sur chacune des feuil en cellule A1 qu'il me mette la date
de la feuil en question (J'ai reussi à faire cette partie) en faisant
cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu










Manu
Le #23476081
Bonjour,

J'ai compris, Merci Daniel.

Manu

"DanielCo" itd253$kv1$
Bonjour,
J'ai ajouté quelques contrôles : le nombre doit être entré au format texte
et doit être composé de 8 chiffres. Par contre, comme tu ne l'as pas
spécifié, il peut être entré n'importe où dans la feuille et sera
incrémenté à la même adresse sur les feuilles suivantes :

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.IsText(Target.Value) And Len(Target.Value) = 8 Then
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End If
End Sub

Daniel


Bonjour,

Désolé pour le retard, mais j'ai eu des problemes de connexions,

J'ai compris pour le code, mais quand il se lance, il me met le debogueur
sur ces 2 lignes :
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr

Merci de me dire pourquoi ?

Manu

"DanielCo" ist92f$1ft$
Non, tu la copies dans le module de la feuille où tu entres la date.
Lorsque tu entres cette date dans une cellule quelconque, les autres
feuilles sont renseignées.
Daniel


Merci Daniel,
Mais comment tu lance la macro ? Je pensais qu'il suffisait de changer
de feuil pour que ca se lanse, mais rien....

Merci de m'informer

Manu

"DanielCo" ist1ip$e11$
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
ctr = ctr + 1
sh.Range(Target.Address).Value = _
CDate(Format(Target.Value, "00/00/0000")) + ctr
sh.[A1] = sh.Range(Target.Address).Value
End If
Next sh
End Sub

Cordialement.
Daniel


Bonjour,

J'ai 31 feuil sur un fichier, je souhaiterais que lorsque je tape sur
la 1ere feuil : 01062011 qu'il me fasse la suite de tous les jours
sur chacune des feuils, c'est à a dire sur la 2eme feuil : 02062011
etc.... et qu'ensuite sur chacune des feuil en cellule A1 qu'il me
mette la date de la feuil en question (J'ai reussi à faire cette
partie) en faisant cela :
dans la cellule B1 :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
puis en A1 : =CNUM(GAUCHE(B1;2)&"/"&STXT(B1;3;2)&"/"&DROITE(B1;2))
Ca fonctionne bien, mais peut etre y à t'il plus simple.

Merci

Manu
















Publicité
Poster une réponse
Anonyme