none
Macro qui ne fonctionne pas avec excel 2010

    問題

  • Bonjour à tous,

    J'ai une macro qui fonctionnait très bien avec excel 2003, malheureusement elle ne fonctionne pas avec excel 2010.

    J'ai essayé de laisser en .xls 97-2003, rien ne fait. Est-ce qu'il y a lieu d'approter des modifications et si oui lesquelles, ci-dessous la macro :

     Sub Filigrane()
    Dim Mud As Integer, Dum As Object
    Mud = -120 '-90 'décalage pour centrer horiz. dans la 1ère page (à tester)
    Application.ScreenUpdating = False
    Dim Page As Integer
           For Page = 1 To 2
           ActiveSheet.Shapes.AddTextEffect(msoTextEffect1, _
            "C O P I E", "Algerian", _
            100#, msoFalse, msoFalse, 145, 185#).Select
            Selection.Name = "Dum"
        With Selection
          .ShapeRange.Fill.Visible = msoTrue
          .ShapeRange.Fill.Solid
          .ShapeRange.Fill.ForeColor.SchemeColor = 22
          .ShapeRange.Fill.Transparency = 0.5
          .ShapeRange.Line.Visible = msoFalse
          .ShapeRange.IncrementRotation -26.22
          .ShapeRange.IncrementLeft Mud
          .ShapeRange.IncrementTop 240
    End With
           Mud = Mud = 260 '432 ' 'incrémentation pour centrer page suivante
         
     Next Page
          Range("B97").Select
     
     End Sub

    Merci d'avance de votre dévouement et à bientôt

    frasax

     

    2012年1月22日 下午 03:25

解答

  • Bonjour Ciprian

    Pouvez-vous svp nous indiquer le lien vers Answers avec la solution ou nous indiquer comment le problème a été résolu ? Merci d’avance !

    Je crois que j'ai plus vite fait d'exposer la solution ici que de chercher comment mettre le lien.
    La macro indiquée intervient sur le rectangle qui contient le texte et non le texte lui-même. Le résultat parait cohérent avec le code.
    Si elle modifiait le texte en version 2003, c'est qu'il y avait un gros bogue dans cette version.

    La solution est donc d'intervenir sur le texte, par exemple ainsi:

    Sub Filigrane()
    Dim Dum As Shape
     Set Dum = ActiveSheet.Shapes.AddTextEffect(msoTextEffect3, "C O P I E", "Algerian", _
           100#, msoFalse, msoFalse, 145, 185#)
     With Dum.TextFrame2.TextRange.Characters.Font
       .Line.Transparency = 0.8
       .Fill.ForeColor.RGB = &HAAAAAA
       .Fill.Transparency = 0.8
     End With
    End Sub

    Ce qui n'empêche pas de déplacer et faire tourner le rectangle.


    A+

    2012年1月23日 下午 01:13
  • Réponse apportée sur le forum Answers Excel.
    --> Sujet clos


    A+

    2012年1月23日 上午 09:37

所有回覆

  • Bonjour

    J'ai une macro qui fonctionnait très bien avec excel 2003, malheureusement elle ne fonctionne pas avec excel 2010.

    Vous pensez qu'on peut vous dépanner sans dire ce que ça fait et ce que ça devrait faire ?


    A+

    2012年1月22日 下午 04:36
  • Bonjour

    Merci de votre réponse.

    Oui, j'ai omis de vous dire ce que cette macro fait. Elle sert a faire un filigrane.

    Il est gris clair et sur office excel 2010, il sort en bleu et il est ni transparent ni en arrière plan.

    Voilà à +

    2012年1月22日 下午 05:09
  • Bonsoir

    Oui, j'ai omis de vous dire ce que cette macro fait. Elle sert a faire un filigrane.

    Vous parlez du texte ou du rectangle ?
    Vos commandes s'appliquent au rectangle qui contient le texte.


    A+

    2012年1月22日 下午 09:14
  • Réponse apportée sur le forum Answers Excel.
    --> Sujet clos


    A+

    2012年1月23日 上午 09:37
  • Bonjour, Geo,

     

    Pouvez-vous svp nous indiquer le lien vers Answers avec la solution ou nous indiquer comment le problème a été résolu ? Merci d’avance !

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    2012年1月23日 下午 12:44
  • Bonjour Ciprian

    Pouvez-vous svp nous indiquer le lien vers Answers avec la solution ou nous indiquer comment le problème a été résolu ? Merci d’avance !

    Je crois que j'ai plus vite fait d'exposer la solution ici que de chercher comment mettre le lien.
    La macro indiquée intervient sur le rectangle qui contient le texte et non le texte lui-même. Le résultat parait cohérent avec le code.
    Si elle modifiait le texte en version 2003, c'est qu'il y avait un gros bogue dans cette version.

    La solution est donc d'intervenir sur le texte, par exemple ainsi:

    Sub Filigrane()
    Dim Dum As Shape
     Set Dum = ActiveSheet.Shapes.AddTextEffect(msoTextEffect3, "C O P I E", "Algerian", _
           100#, msoFalse, msoFalse, 145, 185#)
     With Dum.TextFrame2.TextRange.Characters.Font
       .Line.Transparency = 0.8
       .Fill.ForeColor.RGB = &HAAAAAA
       .Fill.Transparency = 0.8
     End With
    End Sub

    Ce qui n'empêche pas de déplacer et faire tourner le rectangle.


    A+

    2012年1月23日 下午 01:13
  • Re-Bonjour,

     

    Merci beaucoup, Geo, pour avoir partagé avec nous la solution.

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    2012年1月23日 下午 01:39
  • Bonjour à tous

    Pour faire tourner le triangle selon le degré désiré, j'ai trouvé la solution suivante :

    Sub Filigrane()
    Dim Dum As Shape
      Set Dum = ActiveSheet.Shapes.AddTextEffect(msoTextEffect3, "C O P I E", "Arial", _
            80#, msoFalse, msoFalse, 50, 475#)
            Dum.IncrementRotation -45#
      With Dum.TextFrame2.TextRange.Characters.Font
        .Line.Transparency = 0.8
        .Fill.ForeColor.RGB = &HAAAAAA
        .Fill.Transparency = 0.8
       End With

    End Sub

    Si ça peut rendre service à quelqu'un !

    frasax

    2012年4月11日 上午 11:23