Remplacer dans une feuille copiée la référence des formules
Bonjour à tous,
Je suis entrain de développer un fichier permettant de suivre une production. Pour chaque étape de production, il y a une feuille de données (relevé de mesure) et une feuille de graphique (cartes de contrôle). J'ai programmé une macro afin de pouvoir ajouter facilement une étape. Cette macro copie la feuille de données, la renomme et la "nettoie". Ensuite, la macro copie la feuille de graphique, la renomme et la problème.. Je n'arrive pas à la programmer pour qu'elle recherche et remplace, dans les formules, la feuille où sont stockées les données.
Merci d'avance pour votre aide et vos conseils
Public Numéro_passage As Long
Sub Ajout_Passage_Usinage()
'
' Ajout_Passage_Usinage Macro
' Copie le tableau de valeur et les cartes de contrôle pour rajouter un passage
Static i As Integer
For Numéro_passage = i + 2 To i + 2 'Manip pour ouvrir directement à passage 2 sinon on commence à passage 0
'
Sheets("Production Passage 1").Select
Sheets("Production Passage 1").Copy Before:=Sheets("Fin de production")
ActiveSheet.Name = ("Production Passage " & Numéro_passage)
Range(Cells(10, 1), Cells(47, 1)).Select
Selection.ClearContents
Range(Cells(10, 3), Cells(47, 6)).Select
Selection.ClearContents
Range(Cells(10, 9), Cells(47, 22)).Select
Selection.ClearContents
Range("B48:V54").Select
Selection.ClearContents
'On a créé une nouvelle page avec un tableau vierge
Application.DisplayAlerts = False
Sheets("Analyse production ").Select
Sheets("Analyse production ").Copy Before:=Sheets("Fin de production")
ActiveSheet.Name = ("Analyse production " & Numéro_passage)
Call Rechercher_Remplacer_Cartes
Next Numéro_passage
i = i + 1
Application.DisplayAlerts = True
End SubSub Rechercher_Remplacer_Cartes()
Dim c As Integer
Dim l As Integer
For c = 0 To 60
For l = 0 To 1500
If Sheets("Analyse production" & Numéro_passage).Cells(c, l).Value = "'Production passage 1'" Then
Sheets("Analyse production" & Numéro_passage).Cells(c, l).Value = "'Production passage""& Numéro_passage'"
End If
Next c
Next l
End Sub
bonjour,
une proposition
Sub Rechercher_Remplacer_Cartes()
Dim r As Range
Set r = Range(Cells(1, 1), Cells(1500, 60))
r.Replace What:="'Production passage 1'", Replacement:="'Production passage'", LookAt:=xlPart
End SubMerci ça fonctionne, cependant la référence dans la formule n'existe pas (Aucune feuille s'appelant Production passage). En faite j'aimerais rajouter la variable Numéro_passage après "'Production Passage'". Comment puis-je faire pour que le programme la détecte comme variable ?
Sub Rechercher_Remplacer_Cartes()
Dim r As Range
Set r = Range(Cells(1, 1), Cells(1500, 60))
r.Replace What:="'Production passage 1'", Replacement:="'Production passage &Numéro_passage'", LookAt:=xlPart
End Subre-bonjour,
voici
Sub Rechercher_Remplacer_Cartes()
Dim r As Range
Set r = Range(Cells(1, 1), Cells(1500, 60))
r.Replace What:="'Production passage 1'", Replacement:="'Production passage " & Numéro_passage & "'", LookAt:=xlPart
End SubMerci beaucoup,
Excellente journée
h2so4 a écrit :re-bonjour,
voici
Sub Rechercher_Remplacer_Cartes() Dim r As Range Set r = Range(Cells(1, 1), Cells(1500, 60)) r.Replace What:="'Production passage 1'", Replacement:="'Production passage " & Numéro_passage & "'", LookAt:=xlPart End Sub