XL 2010 intégrer plusieurs fois le même onglet (avec nom leg différent) a un classeur par macro bouton

sebbbbb

XLDnaute Impliqué
Bonsoir tout le monde

j'ai un problème à vous soumettre qui me semble insurmontable :). Mais avec vous je sais que rien n'est impossible;).

Voila j'ai une macro qui marche avec un bouton. Lorsque je clique sur le bouton, plusieurs onglets qui sont cachés apparaissent dans mon classeur. jusque là tout marche parfaitement

Est il possible que lorsque je clique a nouveau sur le même bouton les mêmes onglets s'ajoutent en plus des autres avec un nom d'onglets légèrement différent.

Voici mon code actuel :

Option Explicit
Sub blcmmobile()
'
' blcmmobile Macro
'
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect ("")
Sheets("BL1").Visible = True
Sheets("Packing List BL1").Visible = True
Sheets("CM1").Visible = True
Sheets("BL1 ").Select
Range("BM3:BN3").Select
ActiveWorkbook.Protect ("")
Application.ScreenUpdating = True
End Sub

Ainsi lorsque je clique sur mon bouton j'ai 3 onglets qui apparaissent avec le nom et l'ordre suivant :
- BL1
- Packing List BL1
- CM1

peut on modifier le script de façon à ce que lorsque je clique à nouveau sur le même bouton apparaissent à la suite des onglets ci-dessus 3 autres appelés :
- BL2
- Packing List BL2
- CM2

et ainsi de suite :
- BL3
- Packing List BL3
- CM3

Un grand merci par avance pour votre aide

seb
 

sebbbbb

XLDnaute Impliqué
Bonjour

j'ai testé la macro et vraiment elle est top. j'aurai juste une petite question

Imaginons que j'ai des liens entre les différentes feuilles par exemple entre Packing list 1 avec BL1 et idem entre CM1 et BL1, lorsque j'ajoute un nouveau jeu d'onglets, le lien entre Packing list 2 et BL1 reste, tout comme CM2 et BL1.

Est il possible que lorsque l'on ajoute un nouveau jeu de d'onglets, les liens changent pour que Packing list2 et CM2 soient liés a BL2 (au lieu de BL1)

merci par avance
seb
 

sebbbbb

XLDnaute Impliqué
Merci Chti160
c'est parfait. un grand merci :)
je reprécise le 2e point :
Imaginons que dans l'onglet BL1 cellule a1 j'ai le commentaire "vendu"; dans la cellule A1 de l'onglet CM1 en cellule A1 j'ai la formule ='BL1'!A1 ; donc apparait le terme "vendu"

maintenant si j'ajoute les 3 nouveaux onglets par le bouton, dans la cellule A1 de l'onglet CM2 j'aurai également le terme "Vendu" car il y aura également la formule ='BL1'!A1

j'aimerai donc plutot que la cellule A1 de l'onglet CM2 ai un lien avec l'onglet BL2, donc la formule ='BL2'!A1

j'espère avoir été plus clair et que cela est faisable. merci a vous tous

seb
 

sebbbbb

XLDnaute Impliqué
Bonjour Youky
merci beaucoup pour ton travail cependant je ne pense pas m' être bien exprimé car ce que je souhaiterai c'est que les formules changent d'elles mêmes.

ainsi si la formule dans la cellule A1 de l'onglet CM1 est égale à = 'BL1!A1"

apres clic je souhaiterai que dans la cellule A1 de l'onglet CM2 la formule devienne = 'BL2!A1" et ainsi de suite

dans la cellule A1 de l'onglet CM3 la formule devienne = 'BL3!A1"

pas facile à expliquer :)

seb
 

youky(BJ)

XLDnaute Barbatruc
Tout comme toi Jean Marie
Juste pour le fun avec class1.xlsm
Bruno
VB:
Sub blcmmobile()
Dim n
ActiveWorkbook.Unprotect ("")
If Sheets("BL(1)").Visible = True Then
Sheets("BL(1)").Copy After:=Sheets(Sheets.Count)
Sheets("Packing List BL(1)").Copy After:=Sheets(Sheets.Count)
n = Replace(Split(ActiveSheet.Name, "(")(1), ")", "")
ActiveSheet.UsedRange.Replace What:="(1)", Replacement:="(" & n & ")", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Sheets("CM(1)").Copy After:=Sheets(Sheets.Count)
ActiveSheet.UsedRange.Replace What:="(1)", Replacement:="(" & n & ")", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Else
Application.ScreenUpdating = False
Sheets("BL(1)").Visible = True
Sheets("Packing List BL(1)").Visible = True
Sheets("CM(1)").Visible = True
Sheets("BL(1)").Select
Range("BM3:BN3").Select
Application.ScreenUpdating = True
End If
ActiveWorkbook.Protect ("")
End Sub
 

sebbbbb

XLDnaute Impliqué
Messieurs
merci encore infiniment pour votre aide
j'ai donc intégré le code a mon fichier
le hic c'est que mes onglet sont protégés. je sais habituellement déverouiller un onglet et le reverouiller apres le scrip mais la je bloque.
voici mon fichier en PJ
merci
seb
 

Pièces jointes

  • test.xlsm
    74.3 KB · Affichages: 17

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki