Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Feuil en suite

6 réponses
Avatar
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

6 réponses

Avatar
DanielCo
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
Avatar
MANU
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" a écrit dans le message de news:
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




Avatar
DanielCo
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" a écrit dans le message de news:
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




Avatar
MANU
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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










Avatar
DanielCo
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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










Avatar
Manu
Bonjour,

J'ai compris, Merci Daniel.

Manu

"DanielCo" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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