Macro, chercher valeur note et changer

Bonjour,

Dans une mise en plan , je cherche a changer deux notes liés a des propriétés solidworks

Dans mon exemple,la note est liée a ces deux propriétés:  $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"

Je souhaites la remplacer par $PRPSHEET:"DESIGNATION_FR"$PRPSHEET:"DESIGNATION_FR2"($PRPSHEET:"NUMERO_PLAN")

et j'en ai une autre a changer $PRPSHEET:"DESIGNATION_UK"$PRPSHEET:"DESIGNATION_UK2"

$PRPSHEET:"DESIGNATION_UK"$PRPSHEET:"DESIGNATION_UK2"($PRPSHEET:"NUMERO_PLAN")

je ne souhaites appliquer ces modifications sur toutes feuilles (en moyenne une dizaine)  sauf à la 1ere

J'ai commencer cette macro avec find and recherche mais elle ne fonctionne pas comme je le souhaite.

 

Auriez vous une idée ?

Merci d'avance de vos retour

ci joint ma macro

Cdlt

Bonjour,

Peux-tu joindre le code que tu as présentement

bonjour Jérome,

Pourtant j'avais bien joint les fichiers dans le descriptif.

voici la macro


macro1.swp

et mon fichier de travail


test.zip

Un début de piste:

https://www.lynkoa.com/forum/mises-en-plan/modifier-une-note-sur-un-fond-de-plan-solidworks-avec-une-macro?page=1

1 « J'aime »

Essaye ca. Ca changera les notes sur chaque feuilles sauf la première.

Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swNote As SldWorks.Note
Dim vSheets As Variant
Dim i As Integer
Dim vNotes As Variant
Dim vNote As Variant
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
vSheets = swDraw.GetSheetNames
For i = 1 To UBound(vSheets)
    swDraw.ActivateSheet vSheets(i)
    Set swView = swDraw.GetFirstView
    vNotes = swView.GetNotes
    For Each vNote In vNotes
        Set swNote = vNote
        If InStr(swNote.PropertyLinkedText, "$PRPSHEET:""DESIGNATION_FR") > 0 Then
            swNote.PropertyLinkedText = "$PRPSHEET:""DESIGNATION_FR""$PRPSHEET:""DESIGNATION_FR2""($PRPSHEET:""NUMERO_PLAN"")"
        ElseIf InStr(swNote.PropertyLinkedText, "$PRPSHEET:""DESIGNATION_UK") > 0 Then
            swNote.PropertyLinkedText = "$PRPSHEET:""DESIGNATION_UK""$PRPSHEET:""DESIGNATION_UK2""($PRPSHEET:""NUMERO_PLAN"")"
        End If
    Next
Next
End Sub

 

3 « J'aime »

Merci jerome

1 « J'aime »