IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Shapes - changer le nom après une copie


Sujet :

VBA Word

  1. #1
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut Shapes - changer le nom après une copie
    Bonjour,

    Auriez-vous une idée pour changer le nom d'une copie d'un shape, si cette dernière n'est pas placée en fin du document ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        ActiveDocument.Shapes.Range(Array("ZoneA")).Select
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Selection.Copy
    '    Selection.EndKey Unit:=wdStory
        Selection.MoveDown Unit:=wdLine, Count:=1
        Selection.Paste
     
    ' Si le shape copié est mis à la fin du document, l'instruction suivante fonctionne.
    ' Si la copie n'est pas placée à la fin, cela ne fonctionne pas, car Word réordonne les shapes
        ActiveDocument.Shapes(ActiveDocument.Shapes.Count).Name = "ZoneB"
    (Word 2010)

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    En collant, ton objet est toujours dans la sélection.
    Avant de le libérer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.ShapeRange(1).Name = "MonshapeRange1"

  3. #3
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut
    Qu'entends-tu avant de le libérer ?

    Que je mette cette ligne de code avant ou après le paste, j'ai la même erreur :
    Argument ou appel de procédure incorrect

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Voilà le code que j'ai utilisé pour faire mes tests.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ActiveDocument.Shapes(1).Select
    Selection.Copy
     
    Selection.EndKey unit:=wdStory
     
    Selection.Paste
     
    Selection.ShapeRange(1).Name = "Roi"
    Tant qu'on ne fait rien sur la sélection après le paste, l'objet reste sélectionné, il suffit de l'adresser tant qu'il est dans la sélection.

    Mais si tu rencontres une erreur, je ne vois pas pourquoi.

  5. #5
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut
    BIZARRE !!!

    J'ai réalisé un copié collé de ton code (voir fichier joint) et j'ai TOUJOURS la même erreur.
    Je dois passer à côté de quelque chose....
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    C'est pas un shape que tu copies, mais un canevas.

    Les test, je les avais faits avec un simple objet graphique.
    Dans ce cas, le shape est considéré comme la combinaison de plusieurs objets.

  7. #7
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut
    Ok, mais ce canevas (et non ce shape ) porte aussi un nom, et à la recopie comment le changer alors ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    oui, il porte un nom, mais je ne vois pas comment l'adresser avec un simple copier/coller.

Discussions similaires

  1. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  2. [XL-2000] Shapes - Comment changer le nom d'une shape appartenant à un groupe
    Par arnaud.123 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/08/2011, 11h40
  3. changer le currentdb après une copie
    Par koyot3 dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/07/2008, 11h14
  4. Changer le nom du'une appli SDI
    Par semenzato dans le forum MFC
    Réponses: 1
    Dernier message: 15/12/2005, 16h21
  5. Changer le nom d'une machine
    Par botambaoaks dans le forum Administration système
    Réponses: 2
    Dernier message: 05/10/2005, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo