A l'aide d'une feuille "modele", je cree et je remplis des formulaires
que j'enregistre en les renommant dans le meme classeur a l'aide de la
macro suivante
Private sub cb_Click()
Activesheet.Name=Activesheet.Range("J3").Value & "_" &
Format(Activesheet.Range("AK3"), "mm")
Unload F_save
End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type
1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive
quand je cherche a enregistrer un autre formulaire du meme type le meme
mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si
1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le
3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer
le nom du 1er en 1234_09 (1)?
Private Sub b_go_Click() Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) indiceMx = 0 For Each s In ActiveWorkbook.Sheets If s.Name Like "*_*_*" Then p = InStrRev(s.Name, "_") If Val(Mid(s.Name, p + 1)) > indiceMx Then indiceMx = Val(Mid(s.Name, p + 1)) End If Next s ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1 Unload Me End Sub
Cordialement JB
Bonjour à tous,
Je seche sur le point suivant:
A l'aide d'une feuille "modele", je cree et je remplis des formulaires que j'enregistre en les renommant dans le meme classeur a l'aide de la macro suivante
Private sub cb_Click() Activesheet.Name¬tivesheet.Range("J3").Value & "_" & Format(Activesheet.Range("AK3"), "mm") Unload F_save End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type 1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive quand je cherche a enregistrer un autre formulaire du meme type le meme mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si 1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le 3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer le nom du 1er en 1234_09 (1)?
Merci de votre aide pour finir ce projet.
Dominicamicalement.
Pierre
Bonjour,
Crée des noms d'onglets indicés:
http://cjoint.com/?kbe64mCWdC
Private Sub b_go_Click()
Sheets("Modèle").Copy Before:=Sheets(Sheets.Count)
indiceMx = 0
For Each s In ActiveWorkbook.Sheets
If s.Name Like "*_*_*" Then
p = InStrRev(s.Name, "_")
If Val(Mid(s.Name, p + 1)) > indiceMx Then indiceMx =
Val(Mid(s.Name, p + 1))
End If
Next s
ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _
Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1
Unload Me
End Sub
Cordialement JB
Bonjour à tous,
Je seche sur le point suivant:
A l'aide d'une feuille "modele", je cree et je remplis des formulaires
que j'enregistre en les renommant dans le meme classeur a l'aide de la
macro suivante
Private sub cb_Click()
Activesheet.Name=Activesheet.Range("J3").Value & "_" &
Format(Activesheet.Range("AK3"), "mm")
Unload F_save
End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type
1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive
quand je cherche a enregistrer un autre formulaire du meme type le meme
mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si
1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le
3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer
le nom du 1er en 1234_09 (1)?
Private Sub b_go_Click() Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) indiceMx = 0 For Each s In ActiveWorkbook.Sheets If s.Name Like "*_*_*" Then p = InStrRev(s.Name, "_") If Val(Mid(s.Name, p + 1)) > indiceMx Then indiceMx = Val(Mid(s.Name, p + 1)) End If Next s ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1 Unload Me End Sub
Cordialement JB
Bonjour à tous,
Je seche sur le point suivant:
A l'aide d'une feuille "modele", je cree et je remplis des formulaires que j'enregistre en les renommant dans le meme classeur a l'aide de la macro suivante
Private sub cb_Click() Activesheet.Name¬tivesheet.Range("J3").Value & "_" & Format(Activesheet.Range("AK3"), "mm") Unload F_save End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type 1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive quand je cherche a enregistrer un autre formulaire du meme type le meme mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si 1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le 3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer le nom du 1er en 1234_09 (1)?
Merci de votre aide pour finir ce projet.
Dominicamicalement.
Pierre
JB
Solution avec compteur dans un onglet:
http://cjoint.com/?kbfoyzA7xn
Private Sub b_go_Click() Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) indiceMx = Sheets("compteur").[A1] ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1 Sheets("compteur").[A1] = Sheets("compteur").[A1] + 1 Unload Me End Sub
JB
Bonjour à tous,
Je seche sur le point suivant:
A l'aide d'une feuille "modele", je cree et je remplis des formulaires que j'enregistre en les renommant dans le meme classeur a l'aide de la macro suivante
Private sub cb_Click() Activesheet.Name¬tivesheet.Range("J3").Value & "_" & Format(Activesheet.Range("AK3"), "mm") Unload F_save End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type 1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive quand je cherche a enregistrer un autre formulaire du meme type le meme mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si 1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le 3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer le nom du 1er en 1234_09 (1)?
Merci de votre aide pour finir ce projet.
Dominicamicalement.
Pierre
Solution avec compteur dans un onglet:
http://cjoint.com/?kbfoyzA7xn
Private Sub b_go_Click()
Sheets("Modèle").Copy Before:=Sheets(Sheets.Count)
indiceMx = Sheets("compteur").[A1]
ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _
Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1
Sheets("compteur").[A1] = Sheets("compteur").[A1] + 1
Unload Me
End Sub
JB
Bonjour à tous,
Je seche sur le point suivant:
A l'aide d'une feuille "modele", je cree et je remplis des formulaires
que j'enregistre en les renommant dans le meme classeur a l'aide de la
macro suivante
Private sub cb_Click()
Activesheet.Name=Activesheet.Range("J3").Value & "_" &
Format(Activesheet.Range("AK3"), "mm")
Unload F_save
End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type
1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive
quand je cherche a enregistrer un autre formulaire du meme type le meme
mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si
1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le
3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer
le nom du 1er en 1234_09 (1)?
Private Sub b_go_Click() Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) indiceMx = Sheets("compteur").[A1] ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1 Sheets("compteur").[A1] = Sheets("compteur").[A1] + 1 Unload Me End Sub
JB
Bonjour à tous,
Je seche sur le point suivant:
A l'aide d'une feuille "modele", je cree et je remplis des formulaires que j'enregistre en les renommant dans le meme classeur a l'aide de la macro suivante
Private sub cb_Click() Activesheet.Name¬tivesheet.Range("J3").Value & "_" & Format(Activesheet.Range("AK3"), "mm") Unload F_save End Sub
Pas de probleme jusque la. J'obtiens des feuilles avec des noms du type 1234_09 ou 1234 est le type de formulaire et 09 le mois. Le hic arrive quand je cherche a enregistrer un autre formulaire du meme type le meme mois. C'est pas possible car ils auraient alors le meme nom...
Comment incrementer le nom dans le cas ou ce nom existe deja (si 1234_09 existe alors le nouveau 1234_09 devient 1234_09 (2) puis le 3eme deviendra 1234_09 (3)...etc)? Serait-il possible aussi de changer le nom du 1er en 1234_09 (1)?
Merci de votre aide pour finir ce projet.
Dominicamicalement.
Pierre
Pierre.M
Mes excuses tout d'abord pour la reponse tardive et merci beaucoup pour ton aide.
La 1ere solution ne semble pas fonctionner sur l'antique Excel97 de mon etat d'employeur. Ca coince sur InstrRev (erreur de compilation/Sub ou Function non definie). Peut-etre y a-t-il un moyen de contourner ce probleme?
La seconde fonctionne bien, mais ne convient pas a mon probleme car toutes les feuilles sont numerotees chronologiquement et moi je voudrais une numerotation par nom en cas de doublons ou triplons (1234_09, 1234_09_2..., 2345_10, 2345_10_2, 2345_10_3..., 3456_07,...etc).
En tous les cas merci encore.
Pierre
Mes excuses tout d'abord pour la reponse tardive et merci beaucoup pour
ton aide.
La 1ere solution ne semble pas fonctionner sur l'antique Excel97 de mon
etat d'employeur. Ca coince sur InstrRev (erreur de compilation/Sub ou
Function non definie). Peut-etre y a-t-il un moyen de contourner ce
probleme?
La seconde fonctionne bien, mais ne convient pas a mon probleme car
toutes les feuilles sont numerotees chronologiquement et moi je
voudrais une numerotation par nom en cas de doublons ou triplons
(1234_09, 1234_09_2..., 2345_10, 2345_10_2, 2345_10_3...,
3456_07,...etc).
Mes excuses tout d'abord pour la reponse tardive et merci beaucoup pour ton aide.
La 1ere solution ne semble pas fonctionner sur l'antique Excel97 de mon etat d'employeur. Ca coince sur InstrRev (erreur de compilation/Sub ou Function non definie). Peut-etre y a-t-il un moyen de contourner ce probleme?
La seconde fonctionne bien, mais ne convient pas a mon probleme car toutes les feuilles sont numerotees chronologiquement et moi je voudrais une numerotation par nom en cas de doublons ou triplons (1234_09, 1234_09_2..., 2345_10, 2345_10_2, 2345_10_3..., 3456_07,...etc).
En tous les cas merci encore.
Pierre
JB
Solution1 version 97:
http://cjoint.com/?kcu7jpn2vI
Private Sub b_go_Click() Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) indiceMx = 0 For Each s In ActiveWorkbook.Sheets If s.Name Like "*_*_*" Then '--- ou p=InstRev(s.name,"_") p = Len(s.Name) témoin = True Do While témoin If Mid(s.Name, p, 1) = "_" Then témoin = False Else p = p - 1 End If Loop '--- If Val(Mid(s.Name, p + 1)) > indiceMx Then indiceMx = Val(Mid(s.Name, p + 1)) End If Next s ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1 Unload Me End Sub
JB
Mes excuses tout d'abord pour la reponse tardive et merci beaucoup pour ton aide.
La 1ere solution ne semble pas fonctionner sur l'antique Excel97 de mon etat d'employeur. Ca coince sur InstrRev (erreur de compilation/Sub ou Function non definie). Peut-etre y a-t-il un moyen de contourner ce probleme?
La seconde fonctionne bien, mais ne convient pas a mon probleme car toutes les feuilles sont numerotees chronologiquement et moi je voudrais une numerotation par nom en cas de doublons ou triplons (1234_09, 1234_09_2..., 2345_10, 2345_10_2, 2345_10_3..., 3456_07,...etc).
En tous les cas merci encore.
Pierre
Solution1 version 97:
http://cjoint.com/?kcu7jpn2vI
Private Sub b_go_Click()
Sheets("Modèle").Copy Before:=Sheets(Sheets.Count)
indiceMx = 0
For Each s In ActiveWorkbook.Sheets
If s.Name Like "*_*_*" Then
'--- ou p=InstRev(s.name,"_")
p = Len(s.Name)
témoin = True
Do While témoin
If Mid(s.Name, p, 1) = "_" Then
témoin = False
Else
p = p - 1
End If
Loop
'---
If Val(Mid(s.Name, p + 1)) > indiceMx Then indiceMx =
Val(Mid(s.Name, p + 1))
End If
Next s
ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _
Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1
Unload Me
End Sub
JB
Mes excuses tout d'abord pour la reponse tardive et merci beaucoup pour
ton aide.
La 1ere solution ne semble pas fonctionner sur l'antique Excel97 de mon
etat d'employeur. Ca coince sur InstrRev (erreur de compilation/Sub ou
Function non definie). Peut-etre y a-t-il un moyen de contourner ce
probleme?
La seconde fonctionne bien, mais ne convient pas a mon probleme car
toutes les feuilles sont numerotees chronologiquement et moi je
voudrais une numerotation par nom en cas de doublons ou triplons
(1234_09, 1234_09_2..., 2345_10, 2345_10_2, 2345_10_3...,
3456_07,...etc).
Private Sub b_go_Click() Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) indiceMx = 0 For Each s In ActiveWorkbook.Sheets If s.Name Like "*_*_*" Then '--- ou p=InstRev(s.name,"_") p = Len(s.Name) témoin = True Do While témoin If Mid(s.Name, p, 1) = "_" Then témoin = False Else p = p - 1 End If Loop '--- If Val(Mid(s.Name, p + 1)) > indiceMx Then indiceMx = Val(Mid(s.Name, p + 1)) End If Next s ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ Format(ActiveSheet.Range("AK3"), "mm") & "_" & indiceMx + 1 Unload Me End Sub
JB
Mes excuses tout d'abord pour la reponse tardive et merci beaucoup pour ton aide.
La 1ere solution ne semble pas fonctionner sur l'antique Excel97 de mon etat d'employeur. Ca coince sur InstrRev (erreur de compilation/Sub ou Function non definie). Peut-etre y a-t-il un moyen de contourner ce probleme?
La seconde fonctionne bien, mais ne convient pas a mon probleme car toutes les feuilles sont numerotees chronologiquement et moi je voudrais une numerotation par nom en cas de doublons ou triplons (1234_09, 1234_09_2..., 2345_10, 2345_10_2, 2345_10_3..., 3456_07,...etc).
En tous les cas merci encore.
Pierre
Pierre.M
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me donne le nom de la feuille correspondante (3333_09 pour un chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09, alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un chantier 5555 en septembre il me faut alors une nouvelle serie incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais: 3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre 3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre ... 3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Pierre
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma
demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666.
Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me
donne le nom de la feuille correspondante (3333_09 pour un chantier
type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09,
alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en
septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi
deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors
j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de
doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un
chantier 5555 en septembre il me faut alors une nouvelle serie
incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais:
3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre
3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre
...
3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me donne le nom de la feuille correspondante (3333_09 pour un chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09, alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un chantier 5555 en septembre il me faut alors une nouvelle serie incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais: 3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre 3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre ... 3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Pierre
Pierre.M
Bonsoir tous,
Je me permets d'insister une derniere fois, ne trouvant toujours pas de solutions a ce probleme...
JB m'en a fourni 2 (merci encore a lui) mais qui ne conviennent pas vraiment a ma demande (probablement n'ai-je su m'expliquer correctement...).
Si quelqu'un avait une autre proposition, c'est avec grand plaisir qu'elle serait acceptee ;-))
Merci encore et bon weekend a tous.
Pierre
On 2006-10-03 00:20:38 +0200, Pierre.M said:
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me donne le nom de la feuille correspondante (3333_09 pour un chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09, alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un chantier 5555 en septembre il me faut alors une nouvelle serie incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais: 3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre 3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre ... 3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Pierre
Bonsoir tous,
Je me permets d'insister une derniere fois, ne trouvant toujours pas de
solutions a ce probleme...
JB m'en a fourni 2 (merci encore a lui) mais qui ne conviennent pas
vraiment a ma demande (probablement n'ai-je su m'expliquer
correctement...).
Si quelqu'un avait une autre proposition, c'est avec grand plaisir
qu'elle serait acceptee ;-))
Merci encore et bon weekend a tous.
Pierre
On 2006-10-03 00:20:38 +0200, Pierre.M <prenom.mulot@wanadoo.fr> said:
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma
demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666.
Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me
donne le nom de la feuille correspondante (3333_09 pour un chantier
type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09,
alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en
septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi
deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors
j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de
doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un
chantier 5555 en septembre il me faut alors une nouvelle serie
incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais:
3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre
3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre
...
3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Je me permets d'insister une derniere fois, ne trouvant toujours pas de solutions a ce probleme...
JB m'en a fourni 2 (merci encore a lui) mais qui ne conviennent pas vraiment a ma demande (probablement n'ai-je su m'expliquer correctement...).
Si quelqu'un avait une autre proposition, c'est avec grand plaisir qu'elle serait acceptee ;-))
Merci encore et bon weekend a tous.
Pierre
On 2006-10-03 00:20:38 +0200, Pierre.M said:
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me donne le nom de la feuille correspondante (3333_09 pour un chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09, alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un chantier 5555 en septembre il me faut alors une nouvelle serie incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais: 3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre 3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre ... 3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Pierre
isabelle
Bonjour Pierre,
voici une autre approche, dit moi si cela te va ?
'à copier sur le module :
Sub num() Dim model() For Each f In ActiveWorkbook.Sheets nn = Left(f.Name, 4) mm = CStr(Sheets("Modèle").Range("J3").Value) If nn = mm Then x = x + 1 Next MsgBox "dernier numéro du model " & mm & "= " & _ x & " le prochain model sera à " & x + 1
''Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) ''ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ '' Format(ActiveSheet.Range("AK3"), "mm") & "_" & x + 1 End Sub
isabelle
Bonsoir tous,
Je me permets d'insister une derniere fois, ne trouvant toujours pas de solutions a ce probleme...
JB m'en a fourni 2 (merci encore a lui) mais qui ne conviennent pas vraiment a ma demande (probablement n'ai-je su m'expliquer correctement...).
Si quelqu'un avait une autre proposition, c'est avec grand plaisir qu'elle serait acceptee ;-))
Merci encore et bon weekend a tous.
Pierre
On 2006-10-03 00:20:38 +0200, Pierre.M said:
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me donne le nom de la feuille correspondante (3333_09 pour un chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09, alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un chantier 5555 en septembre il me faut alors une nouvelle serie incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais: 3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre 3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre ... 3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Pierre
Bonjour Pierre,
voici une autre approche, dit moi si cela te va ?
'à copier sur le module :
Sub num()
Dim model()
For Each f In ActiveWorkbook.Sheets
nn = Left(f.Name, 4)
mm = CStr(Sheets("Modèle").Range("J3").Value)
If nn = mm Then x = x + 1
Next
MsgBox "dernier numéro du model " & mm & "= " & _
x & " le prochain model sera à " & x + 1
''Sheets("Modèle").Copy Before:=Sheets(Sheets.Count)
''ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _
'' Format(ActiveSheet.Range("AK3"), "mm") & "_" & x + 1
End Sub
isabelle
Bonsoir tous,
Je me permets d'insister une derniere fois, ne trouvant toujours pas de
solutions a ce probleme...
JB m'en a fourni 2 (merci encore a lui) mais qui ne conviennent pas
vraiment a ma demande (probablement n'ai-je su m'expliquer
correctement...).
Si quelqu'un avait une autre proposition, c'est avec grand plaisir
qu'elle serait acceptee ;-))
Merci encore et bon weekend a tous.
Pierre
On 2006-10-03 00:20:38 +0200, Pierre.M <prenom.mulot@wanadoo.fr> said:
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans
ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555,
6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce
qui me donne le nom de la feuille correspondante (3333_09 pour un
chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09,
alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333
en septembre) alors j'incremente (3333_09_2) et si une feuille porte
aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre)
alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de
doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus
d'un chantier 5555 en septembre il me faut alors une nouvelle serie
incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que
necessaire.
Ainsi j'aurais:
3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre
3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre
...
3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton
assiduite ;-))
Sub num() Dim model() For Each f In ActiveWorkbook.Sheets nn = Left(f.Name, 4) mm = CStr(Sheets("Modèle").Range("J3").Value) If nn = mm Then x = x + 1 Next MsgBox "dernier numéro du model " & mm & "= " & _ x & " le prochain model sera à " & x + 1
''Sheets("Modèle").Copy Before:=Sheets(Sheets.Count) ''ActiveSheet.Name = ActiveSheet.Range("J3").Value & "_" & _ '' Format(ActiveSheet.Range("AK3"), "mm") & "_" & x + 1 End Sub
isabelle
Bonsoir tous,
Je me permets d'insister une derniere fois, ne trouvant toujours pas de solutions a ce probleme...
JB m'en a fourni 2 (merci encore a lui) mais qui ne conviennent pas vraiment a ma demande (probablement n'ai-je su m'expliquer correctement...).
Si quelqu'un avait une autre proposition, c'est avec grand plaisir qu'elle serait acceptee ;-))
Merci encore et bon weekend a tous.
Pierre
On 2006-10-03 00:20:38 +0200, Pierre.M said:
Je suis vraiment desole JB, mais je dois etre plutot embrouille dans ma demande...
Je reessaye encore une fois.
J'ai 6 types de chantiers possibles 1111, 2222, 3333, 4444, 5555, 6666. Je peux en faire un ou plusieurs de chaque type, chaque mois, ce qui me donne le nom de la feuille correspondante (3333_09 pour un chantier type 3333 en septembre).
Au moment de l'enregistrement s'il n'existe pas de feuille 3333_09, alors j'enregistre sous ce nom.
Si le nom existe deja (j'ai deja enregistre un chantier de type 3333 en septembre) alors j'incremente (3333_09_2) et si une feuille porte aussi deja ce nom (j'ai deja enregistre 2 chantiers 3333 en septembre) alors j'incremente encore (3333_09_3)...etc
Je voudrais donc une incrementation du nom, mais seulement en cas de doublon (plus d'un chantier 3333 en septembre). Si j'ai aussi plus d'un chantier 5555 en septembre il me faut alors une nouvelle serie incrementee(5555_09, 5555_09_2,...) et ainsi de suite...
Et chaque mois on recommence autant de series incrementees que necessaire.
Ainsi j'aurais: 3333_09, 3333_09_2, 3333_09_3, 5555_09, 5555_09_2... en septembre 3333_10, 3333_10_2, 4444_10, 5555_10, 5555_10_2... en octobre ... 3333_12, 3333_12_2... en decembre
Peut-etre est ce plus clair ainsi.
Quoiqu'il en soit merci, merci beaucoup pour ta patience et ton assiduite ;-))
Pierre
Pierre.M
Bonjour Isabelle,
Merci beaucoup pour ton code. On approche de tres pres mon besoin.
Le petit probleme c'est que l'incrementation se fait sur les 4 premiers chiffres alors que dans mon cas j'aimerais qu'elle se fasse sur le nom complet (1234_09 est different de 1234_10)
Pour toi 1234_09_1 / 1234_09_2 / 1234_10_3 / 1234_10_4 / 5678_10_1... alors que j'aurais besoin de 1234_09_1 / 1234_09_2 / 1234_10_1 / 1234_10_2 / 5678_10_1...
La cerise sur le gateau, ce serait d'avoir l'incrementation seulement au 2eme enregistrement (nouvelle feuille avec meme numero XXX). Le 1er enregistrement d'une feuille (1ere feuille avec un numero XXX) ne comporterait pas de numero d'incrementation (enregistrement "normal" donc).
Si je n'ai qu'une feuille -> xxxx_yy Si j'ai 2 feuilles (ou plus) -> xxxx_yy et xxxx_yy_2 / xxxx_yy_3
Peut-etre que j'exagere, non?( ;-)
En tous cas, merci encore et bonne journee.
Pierre
Bonjour Isabelle,
Merci beaucoup pour ton code. On approche de tres pres mon besoin.
Le petit probleme c'est que l'incrementation se fait sur les 4
premiers chiffres alors que dans mon cas j'aimerais qu'elle se fasse
sur le nom complet (1234_09 est different de 1234_10)
Pour toi 1234_09_1 / 1234_09_2 / 1234_10_3 / 1234_10_4 / 5678_10_1...
alors que j'aurais besoin de 1234_09_1 / 1234_09_2 / 1234_10_1 /
1234_10_2 / 5678_10_1...
La cerise sur le gateau, ce serait d'avoir l'incrementation seulement
au 2eme enregistrement (nouvelle feuille avec meme numero XXX). Le 1er
enregistrement d'une feuille (1ere feuille avec un numero XXX) ne
comporterait pas de numero d'incrementation (enregistrement "normal"
donc).
Si je n'ai qu'une feuille -> xxxx_yy
Si j'ai 2 feuilles (ou plus) -> xxxx_yy et xxxx_yy_2 / xxxx_yy_3
Merci beaucoup pour ton code. On approche de tres pres mon besoin.
Le petit probleme c'est que l'incrementation se fait sur les 4 premiers chiffres alors que dans mon cas j'aimerais qu'elle se fasse sur le nom complet (1234_09 est different de 1234_10)
Pour toi 1234_09_1 / 1234_09_2 / 1234_10_3 / 1234_10_4 / 5678_10_1... alors que j'aurais besoin de 1234_09_1 / 1234_09_2 / 1234_10_1 / 1234_10_2 / 5678_10_1...
La cerise sur le gateau, ce serait d'avoir l'incrementation seulement au 2eme enregistrement (nouvelle feuille avec meme numero XXX). Le 1er enregistrement d'une feuille (1ere feuille avec un numero XXX) ne comporterait pas de numero d'incrementation (enregistrement "normal" donc).
Si je n'ai qu'une feuille -> xxxx_yy Si j'ai 2 feuilles (ou plus) -> xxxx_yy et xxxx_yy_2 / xxxx_yy_3