Renommer la copie d'une feuille par une cellule d'un autre
Bonsoir,
Voilà ce que j'ai,
Un premier classeur dans lequel j'ai un formulaire dans lequel je rentre toutes mes données dont un numéro de dossier, en dessous de ça 3 boutons auxquels j'ai affecté des macros.
Quand je clique sur les boutons, ceux-ci me créent dans 2 autres classeurs 2 nouvelles feuilles reprenant divers données de mon classeur alpha.
Problème: Je n'arrive pas à ce que mes 2 nouvelles feuilles prennent comme nom le numéro du dossier situer en Cellule B3 de ma Feuil1 de mon classeur alpha!
Que dois-je ajouter pour obtenir cela?
Merci d'avance
Bonjour
Au minimum le code de tes macros (si pas trop important)
Sinon le nec plus ultra ton fichier anonymisé
Bonsoir, voici un des macros affecté à un de mes boutons, les autres sont identiques ou presque,
Le numéro dont j'ai besoin comme numéro de feuille se trouve dans la cellule surlignée.
Sub Particulier()
'
' Particulier Macro
' Crée une fiche raccordement et une fiche photos (Particulier)
'
'
Windows("Fiches raccordement.xls").Activate
Sheets("Raccordement").Select
Sheets("Raccordement").Copy Before:=Sheets(2)
Range("L2:Q2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R5C2"
Range("X2:AA2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R6C2"
Range("X4:AA4").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R7C2"
Range("C8:E8").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R9C2"
Range("R7:T7").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R8C2"
Range("AO2:AQ2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R3C2"
Range("AO3:BC3").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R4C2"
Range("K20:M20").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R10C2"
Range("Q24:S24").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R11C2"
Range("M29:P29").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R12C2"
Range("M30:P30").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R13C2"
Range("AE29:AH29").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R14C2"
Range("AE30:AH30").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R15C2"
Range("AP8:AR8").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R16C2"
Range("AP9:AR9").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R17C2"
Range("AP10:AR10").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R18C2"
Range("AP11:AR11").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R19C2"
Range("AP12:AR12").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R20C2"
Range("AP13:AR13").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R21C2"
Range("AP14").Select
Windows("Fiches photos.xls").Activate
Sheets("Modèle raccordement").Select
Sheets("Modèle raccordement").Copy Before:=Sheets(2)
Range("L2:Q2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R5C2"
Range("X2:AA2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R7C2"
Range("X4:AA4").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R8C2"
Range("AO2:AQ2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R3C2"
Range("AO3:BC3").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R4C2"
Range("AO4:AU4").Select
Windows("Fiches racc-photos.xlsx").Activate
Range("B3").Select
End Sub
Bonsoir
En reprenant l'énoncé du début modifies ta macro et sans tenir compte du nom du classeur alpha
Le classeur alpha est celui qui contient les macros
Pour la page "Raccordement"
Sheets("Raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = ThisWorkbook.Sheets("Feuil1").Range("B3")Pour la page "Modèle raccordement"
Sheets("Modèle raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = ThisWorkbook.Sheets("Feuil1").Range("B3")Si pas ça il faut impérativement tes fichiers
Bonsoir,
J'ai essayer cela mais ça ne fonctionnait pas, par contre j'ai testé un truc qui fonctionne, c'est ça:
J'ai ajouté ça au début,
Dim nom As Byte
nom = Range("B7")et donc par la suite je fais ceci,
Sheets("Raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = nomCela marche, mais j'ai maintenant un autre problème,
Il crée donc mes feuilles et les nomme comme je le souhaite, mais le problème:
La première feuille pas de problème,
mais quand j'en crée une deuxième, il remplace les données de la première par celle de la deuxième,
si j'en crée une 3ème, les deux précédentes ont les données de la 3ème également,
mais le nom des feuilles, lui, reste correct...
Comment éviter cela?
Merci
Voici mes fichiers, seul le bouton particulier est ok, je n'ai pas encore fait les autres vu que je n'ai pas encore la solution
Bonjour
Cela ne va pas être facile, tes fichiers n'ont aucune macro
Bizarre, je dois faire cmt pour qu'ils soient avec? Chez moi ils sont bien là...
Sinon, il faut juste affecter ceci au bouton "particulier" et ça donnera ce que j'ai chez moi:
Sub Particulier()
'
' Particulier Macro
' Crée une fiche raccordement et une fiche photos (Particulier)
'
'
Dim nom As Byte
nom = Range("B7")
Windows("Fiches raccordement.xls").Activate
Sheets("Raccordement").Select
Sheets("Raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = nom
Range("L2:Q2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R5C2"
Range("X2:AA2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R6C2"
Range("X4:AA4").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R7C2"
Range("C8:E8").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R9C2"
Range("R7:T7").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R8C2"
Range("AO2:AQ2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R3C2"
Range("AO3:BC3").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R4C2"
Range("K20:M20").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R10C2"
Range("Q24:S24").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R11C2"
Range("M29:P29").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R12C2"
Range("M30:P30").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R13C2"
Range("AE29:AH29").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R14C2"
Range("AE30:AH30").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R15C2"
Range("AP8:AR8").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R16C2"
Range("AP9:AR9").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R17C2"
Range("AP10:AR10").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R18C2"
Range("AP11:AR11").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R19C2"
Range("AP12:AR12").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R20C2"
Range("AP13:AR13").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R21C2"
Range("AP14").Select
Windows("Fiches photos.xls").Activate
Sheets("Modèle raccordement").Select
Sheets("Modèle raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = nom
Range("L2:Q2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R5C2"
Range("X2:AA2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R7C2"
Range("X4:AA4").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R8C2"
Range("AO2:AQ2").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R3C2"
Range("AO3:BC3").Select
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R4C2"
Range("AO4:AU4").Select
Windows("Fiches racc-photos.xlsx").Activate
Range("B3").Select
End SubBonsoir
D'après ce que je crois comprendre c'est normal
Tu crées un lien entre la nouvelle feuille et ta feuil1, donc si tu modifies une donnée dans Feuil1 toutes les feuilles qui ont un lien avec cette donnée seront modifiés (c'est le principe du lien)
Pour éviter cela, ne pas faire de lien
A la place de (Exemple)
ActiveCell.FormulaR1C1 = "='[Fiches racc-photos.xlsx]Feuil1'!R5C2"Utilises
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B5")Comme cela tu copies tes données dans la nouvelle feuille mais après tu peux modifier Feuil1 sans que cela soit répercuté
Je te laisse le soin de modifier les lignes
Si des soucis revient
Re,
Merci de ta réponse,
J'ai modifié ce qu'il fallait, mais j'ai un petit soucis,
Il n'affiche rien dans les cellules de mes pages crééent??? Pourtant il y a bien des données dans Feuil1
Voici mon code actuel:
Sub Particulier()
'
' Particulier Macro
' Crée une fiche raccordement et une fiche photos (Particulier)
'
'
Dim nom As Byte
nom = Range("B7")
Windows("Fiches raccordement.xls").Activate
Sheets("Raccordement").Select
Sheets("Raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = nom
Range("L2:Q2").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B5")
Range("X2:AA2").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B6")
Range("X4:AA4").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B7")
Range("C8:E8").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B9")
Range("R7:T7").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B8")
Range("AO2:AQ2").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B3")
Range("AO3:BC3").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B4")
Range("K20:M20").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B10")
Range("Q24:S24").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B11")
Range("M29:P29").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B12")
Range("M30:P30").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B13")
Range("AE29:AH29").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B14")
Range("AE30:AH30").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B15")
Range("AP8:AR8").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B16")
Range("AP9:AR9").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B17")
Range("AP10:AR10").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B18")
Range("AP11:AR11").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B19")
Range("AP12:AR12").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B20")
Range("AP13:AR13").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B21")
Range("AP14").Select
Windows("Fiches photos.xls").Activate
Sheets("Modèle raccordement").Select
Sheets("Modèle raccordement").Copy Before:=Sheets(2)
ActiveSheet.Name = nom
Range("L2:Q2").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B5")
Range("X2:AA2").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B7")
Range("X4:AA4").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B8")
Range("AO2:AQ2").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B3")
Range("AO3:BC3").Select
ActiveCell = ThisWorkbook.Sheets("Feuil1").Range("B4")
Range("AO4:AU4").Select
Windows("Fiches racc-photos.xlsx").Activate
Range("B3").Select
End SubBonjour
Pas de soucis les informations sont bien copiés dans la page crée
Fais du pas-à-pas avec ta macro tu verras
Mais pq ne s'affichent-t-elles pas dans les cellules de mes nouvelles feuilles?
Bonjour
mikaka a écrit :Mais pq ne s'affichent-t-elles pas dans les cellules de mes nouvelles feuilles?
D'où je suis je ne vois pas bien
Mais ce qui est sur c'est que j'ai essayé ta macro avec le fichier que ta avais envoyé
Et pas de soucis
Dans le 1er fichier une page de crée ( 5 ) ensuite les champs de la nouvelle page se remplissent
Je n'ai pas été jusqu'au bout de la macro car pour moi le remplissage fonctionne
Je ne vois pas pas ce qui gène
Et en pas-à pas cela donne quoi ?
Oui mais même en faisant du pas à pas, rien ne s'affiche dans mes pages crééent...