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 Sub
Sub 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
pb programmation

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 Sub

Merci ç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 Sub

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

Merci 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
Rechercher des sujets similaires à "remplacer feuille copiee reference formules"